C vs C#

4. ISTO kao u C

4.6. Naredbe skoka

U nekim situacijama je potrebno da se neki delovi koda "preskoče". Da bi se izmenio normalan tok izvršavanja naredbi mogu se koristiti sledeće naredbe:

  • goto

  • break

  • continue

goto naredba

Ova naredba omogućava bezuslovni skok na neku labelu koja je definisana u programu. Labela se u programu dobija tako što se iza nekog identifikatora stavlja dvotačka.

Primer:

class Primer
{
    public static void Main()
    {
        int ukupno = 0;
        int indeks = 0;
 
    ovoJeLabela:
        indeks++;
        ukupno += indeks;
        Console.WriteLine("Indeks = " + indeks);
        if (indeks < 5)
        {
            Console.WriteLine("goto ovoJeLabela");
            goto ovoJeLabela;
        }
        Console.WriteLine("Ukupno = " + ukupno);
    }
}
NAPOMENA: Ne smatra se dobrom programerskom praksom ako se koristi naredba goto. Ako ne morate, nemojte da je koristite!

break naredba

Korišćenjem break naredbe može se prekinuti bilo koja vrsta petlje.

Primer:

class Primer
{
    public static void Main()
    {
        int ukupno = 0;
 
        for (int indeks = 1; indeks <= 10; indeks++)
        {
            Console.WriteLine("Indeks = " + indeks);
            ukupno += indeks;
            if (indeks == 5)
            {
                Console.WriteLine("Prekid for petlje");
                break;
            }
        }
        Console.WriteLine("Ukupno = " + ukupno);
    }
}

continue naredba

Naredbom continue se ne prekida izvršenje petlje već se samo prekida tekuća iteracija i nastavlja se sa sledećom iteracijom. Tj. sve naredbe u telu petlje koje dolaze posle naredbe continue se preskaču i prelazi se na zaglavlje petlje.

Primer:

class Primer
{
    public static void Main()
    {
        int ukupno = 0;
 
        for (int indeks = 1; indeks <= 10; indeks++)
        {
            if (indeks == 6)
            {
                Console.WriteLine("continue naredba");
                continue;
            }
            Console.WriteLine("Indeks = " + indeks);
            ukupno += indeks;
        }
        Console.WriteLine("Ukupno = " + ukupno);
    }
}