Pętla foreach w C# służy do przechodzenia po wszystkich elementach kolekcji, np. tablicy, listy lub innego obiektu, który można iterować. Jest wygodna wtedy, gdy nie trzeba znać indeksu elementu, a jedynie jego wartość.
Składnia
foreach (typ zmienna in kolekcja)
{
// instrukcje wykonywane dla każdego elementu
}
Przykład:
string[] langs = { "C++", "C#", "Java", "Python" };
foreach (string i in langs)
{
Console.WriteLine(i);
}
W tym kodzie:
- langs to tablica napisów,
- string i oznacza pojedynczy element tablicy w danym przebiegu pętli,
- Console.WriteLine(i) wyświetla aktualny element tablicy.
Program wypisze kolejno:
C++
C#
Java
Python
Kiedy stosować foreach?
Pętla foreach jest dobra, gdy chcemy:
- odczytać wszystkie elementy kolekcji,
- wykonać tę samą operację dla każdego elementu,
- uprościć kod w porównaniu z klasyczną pętlą for.
Różnica między foreach a for
Pętla for daje dostęp do indeksu, np. langs[0]. Pętla foreach daje bezpośrednio wartość elementu, np. i. W analizowanym przykładzie nie jest potrzebny indeks, więc foreach jest naturalnym wyborem.