kurs programowania c++ c# sql postgresql




title

Kolejną instrukcją skoku jest GOTO. Za jej pomocą możemy skoczyć w odpowiednie miejsce w kodzie. Warunek jest jeden żeby program wiedział w które miejsc skoczyć musimy to miejsce oznaczyć etykietą. Instrukcja GOTO na pierwszy rzut oka wydaje się bardzo przydatna ale przestrzegam przed jej nadużywaniem, analiza kodu gdzie często używamy instrukcji GOTO jest mordęgą.

Żeby lepiej zrozumieć działanie instrukcji GOTO rozwiążmy zadanie. Wykonaj 10 razy pewien kod w pętli (podzielony na dwie części). Przy piątym przebiegu pętli pomiń pierwszą część kodu.

Do rozwiązania tego zadania wykorzystam pętlę FOREACH i instrukcję GOTO. Kod poniżej.

// deklaracja i inicjalizacja tabeli do które później się odwołamy w pętli
            int[] liczby = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            // rozpoczęcie pętli FOREACH
            foreach(int i in liczby)
            {
                Console.WriteLine("Przebieg pętli nr: "+i);
                if (i == 5)
                {
                    goto Finish;
                }
                // wyświetlenie kolejnych wartości z tablicy "liczby"
                Console.WriteLine("Pierwsza część kodu");

                // etykieta Finish: i druga część kodu
                Finish: Console.WriteLine("Druga część kodu");

                Console.WriteLine();

            }
            // żeby zobaczyć na ekranie efekt uruchomienia naszego programu
            // posłużymy się funkcją ReadKey() która "czeka"
            // na wciśnięcie jakiegokolwiek klawisza na klawiaturze
            Console.ReadKey();

Wynik uruchomienia naszego programu poniżej.

kurs c# podstawy programowania instrukcja skoku goto

Na zrzucie widać, że pętla wykonała się 10 razy. Zauważ że przy piątym wykonaniu się pętli wykonała się tylko druga część kodu. Właśnie taki efekt chcieliśmy uzyskać, że przy określonych parametrach (u nas wtedy kiedy i=5) wykona się tylko część naszego kodu.

Powyższy kod w postaci projektu Visual Studio możesz pobrać >>>tutaj<<<