A foreach ciklus egy speciális ciklus, amelyet direkt listák, tömbök és minden olyan osztály elemeinek bejárására találtak ki, amelyek megvalósÃtják az IEnumerable interfészt. ElsÅ‘re ez ijesztÅ‘en hathat, de a késÅ‘bbiekben a jelenleg ismeretlen fogalmakról részletesen lesz szó.
A foreach szintaxisa a következő:
foreach (var valtozo in lista)
{
//ciklusmag
}
A ciklus annyiszor fog lefutni, ahány elemű a lista. A valtozo nevű ciklusváltozó pedig minden egyes ciklus futáskor a lista, vagy IEnumerable leszármazott aktuális elemét tárolja.
A ciklus működését talán egy példán keresztül könnyebb megérteni. Az alábbi példában az angol ABC betűit Ãrjuk ki:
using System;
namespace PeldaForeach
{
class Program
{
static void Main(string[] args)
{
var abc = "abcdefghijklmnopqrstuvwxyz";
foreach (var betu in abc)
{
Console.Write("{0}, ",betu);
}
Console.ReadKey();
}
}
}
A program kimenmete:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z,
A trükk a programban az, hogy a szükséges betűk szövegként vannak tárolva, ami végül is karakterek tömbje, ezért működik a foreach ciklus. Ajánlott kódolási konvenció1, hogy a bejárt objektum neve többesszámot fejezzen ki, mÃg a ciklus változó egyes számban legyen. Ez fÅ‘ként angol nyelven Ãrt programoknál hasznos, mivel drámaian javÃtja a kód olvashatóságát. Példa:
foreach (var letter in letters)
{
//utasÃtások
}
-
Megállapodás↩