C# - Ugrások programon belül

C# nyelv 9. rész

forráskód letöltése
Mostani cikkünkben azt vizsgáljuk, hogy futó programjainkon belül miként törhetjük meg a program futását egy adott ponton és hogyan folytathatjuk azt egy másikon. Például, ha egy feltétel nem teljesül mondjuk egy ciklus magon belül, akkor van lehetőségünk arra, hogy kilépjünk a ciklusból mielőtt az még befejeződne.
Alábbi példában pont ezt valósítjuk meg. Készítünk egy ciklust, mely 0-tól 99-ig menne, de amikor a ciklusváltozó eléri az 5-öt, akkor egy break felhasználásával megtörjük annak futását. Ennek az lesz a hatása, hogy a for ciklus blokkja után folytatódik programunk futása. A break kulcsszóval a switch, while, do, for, vagy foreach ciklusból léphetünk ki. Tudnunk kell azt is, hogy ha például két ciklus van egymásba ágyazva és a belső ciklusban van egy break utasítás, akkor ez csak a belső ciklusból lép ki, tehát a külső még folytatódik.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        for (int i = 0; i<100; i++)
        {
          if (i>5)
          {
            break;
          }
          Text = i.ToString();
        }
      }
Arra is van lehetőségünk, hogy egy ciklusból ne kilépjünk, hanem folytassuk azt annak ellenére, hogy még nem érte el a program a ciklusmag végét. Ezzel a lehetőséggel elérhetjük, hogy ha valamilyen feltételünk teljesül, akkor a ciklus folytatódjon a ciklusváltozó következő értékével.
Alábbi példában írunk egy ciklust 0-tól 9-ig, melynél csak a páros számú ciklusok futnak végig. Páratlan ciklusváltozó esetén a continue kulcsszó megadásával megszakad a ciklusmag végrehajtása és a következő ciklusváltozó értékkel újraindul. A continue a while, do, for, vagy foreach ciklusoknál használható.
      protected void button2_Click (object sender, System.EventArgs e)
      {
        for (int i=0; i<10; i++)
        {
          if (i%2==1)
          {
            continue;
          }
          listBox1.Items.Add(i.ToString());
        }
      }
Ha írunk egy saját függvényt, akkor ott tetszőleges helyen megadhatjuk, hogy hol legyen a függvény visszatérési pontja. Ehhez a return kulcsszót kell alkalmaznunk. Ennek használatakor viszont megszakad függvényünk folytatása, így ha ezután még írunk forráskódot, az már nem fut le. Mellékelt példában, ha a CheckBox kijelölt, akkor a visszatérési érték 5 lesz, mivel az a *= 2; sorra már nem kerül a vezérlés a return miatt.
      protected int Function()
      {
        int a = 5;
        if (checkBox1.Checked)
        {
          return a;
        }        
        a *= 2;
        return a;
      }

C# nyelv cikksorozat