Fan

Reputacja

41

Głosów ogółem

użytkownik głosował za tyle razy
7
Użytkownik głosował przeciw tyle razy
0
  • Roczniak
  • Samouk
Prawdziwe imię
Michał
Członek od
2 lata, 3 miesiące
Ostatnio widziany
1 rok, 3 miesiące temu
Miejscowość
Kraków
Wiek
18

Pytania: 1

Odpowiedzi: 3

  • 2010-02-03 16:16:35 C# - "nagłe" usunięcie elementów kolekcji

    Ooops... Już wiem. Coby nie wchodzić w sortowanie, czy przechodzenie po każdym elemencie wordList dawałem StepOver, i nie zauważyłem, że w międzyczasie, przy zmienianiu tekstu comboboxa wyskakuje event _SelectionChanged, w którym mylnie, zamiast czyścić elementy z listy, czyściłem kolekcję wordList... Sorry za kłopot :)

  • 2010-02-03 15:58:40 C# - "nagłe" usunięcie elementów kolekcji

    Zamieniłem obie pętle na for, nic to nie dało - "resetuje" się po wejściu do pętli for.

    Edit: Sorry za doublepost, nie rozeznaję się jeszcze trochę w tym serwisie i dopiero teraz zauważyłem, co pisaliście w komentarzach :)

    Oto mój w pełni nieprofesjonalny projekt: http://www.speedyshare.com/files/20729451/Naukaswek.zip

    Uwaga, plik z bazą się ładuje do AppData ;)

    Edit: Ooops... Już wiem. Coby nie wchodzić w sortowanie, czy przechodzenie po każdym elemencie wordList dawałem StepOver, i nie zauważyłem, że w międzyczasie, przy zmienianiu tekstu comboboxa wyskakuje event _SelectionChanged, w którym mylnie, zamiast czyścić elementy z listy, czyściłem kolekcję wordList...

    Sorry za ten cały spam.

  • 2010-02-12 19:28:53 Początki w C# - proste programy do poprawy

    Myślę, że trochę zbyt skomplikowane pomysły przedstawiacie.

    Rzeczywiście, wprowadzenie osobnej funkcji do pobrania liczby to dość łatwe i czytelne rozwiązanie. Tylko, że propozycja Tomeckiego niepotrzebnie ogranicza nam programik. Może to wyglądać tak:

        private int PobierzLiczbę()
        {
            bool flaga = true; // ta wartość poinformuje nas, czy wprowadzona została poprawna liczba
            int liczba = 0; // liczba do pobrania
    
            while (flaga) // jeżeli flaga będzie miała wartość false, to pętla zakończy swoje działanie
            {
                try
                {
                    liczba = Convert.ToInt32(Console.ReadLine()); //pobieramy liczbę, jeśli w tym miejscu
                    // zostanie wprowadzony tekst, będzie błąd i natychmiast przeskoczy do catch
    
                    flaga = false; // jeżeli nie przeskoczy, to wartość jest prawidłowa i można zakończyć while
                }
                catch (FormatException)
                {
                    Console.WriteLine("To powinna być liczba, spróbuj ponownie!");
                    // komunikat z błędem, flaga wciąż true, więc pętla wykona się kolejny raz
                }
            }
    
            return liczba; //zwracamy liczbę
        }
    

    Pamiętaj też, że możesz w jednej linijce deklarować kilka zmiennych tego samego typu, więc zamiast 7. linijek możesz napisać po prostu:

    int a, b, c, d, x, xx, z;
    

    Weź też pod uwagę, że przy obliczaniu delty dzielisz, a wynik zapisujesz do int, czyli liczby całkowitoliczbowej. Możesz uzyskać błędny wynik, więc zamiast int użyj tam double.

    Wyniku nie musisz zapisywać do zmiennej, żeby ją wyświetlić, wystarczy że napiszesz:

    if (d == 0)
    {
        Console.WriteLine("Funkcja ma jedno miejsce zerowe, które wynosi: {0}", -b / 2 * a);
    }
    

    Tyle z moich rad. Jeżeli szukasz czegoś więcej, to mi całkiem pomógł kurs na centrumXP, myślę, że jak na początek może być pomocny.

Tagi: 0