Pętla foreach
Przeiteruje Pan/Pani bez używania indeksów.
Pętla foreach to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.
Czym jest foreach?
Pętla foreach pozwala odwiedzać po kolei każdy element kolekcji.
Nie trzeba zarządzać indeksem ani licznikiem. C# przechodzi przez kolekcję i przekazuje każdy element do nazwanej przez Ciebie zmiennej.
To najprzejrzystszy sposób na odczytanie wszystkich elementów tablicy lub listy.
Podstawowa składnia
Układ jest prosty: foreach (var item in collection), a po nim następuje treść pętli.
Podczas każdego przebiegu item przechowuje kolejny element. Pętla kończy się automatycznie po ostatnim elemencie.
foreach (var name in names)
{
Console.WriteLine(name);
}Pierwsza pętla foreach
Przejdźmy w pętli przez tablicę napisów i wyświetlmy każdą nazwę.
Zwróć uwagę, że nie ma tu indeksu ani sprawdzania długości. Pętla po prostu odwiedza każdy element w kolejności.
string[] names = { "Ada", "Linus", "Grace" };
foreach (var name in names)
{
Console.WriteLine(name);
}Zmienna sterująca pętli
Zmienna sterująca pętli (tutaj n) jest nową kopią tworzoną dla każdego elementu.
Możesz użyć dowolnej nazwy. Wybierz nazwę opisującą element, na przykład number lub n.
int[] scores = { 90, 75, 88 };
foreach (var n in scores)
{
Console.WriteLine(n);
}var a jawnie określony typ
Zamiast var można jawnie zapisać typ elementu.
Oba rozwiązania działają tak samo. var pozwala kompilatorowi wywnioskować typ, dzięki czemu kod jest krótszy.
int[] scores = { 90, 75, 88 };
foreach (int score in scores)
{
Console.WriteLine(score);
}Wykonywanie działań w treści pętli
Treść pętli może wykonywać dowolne działania: obliczenia, warunki lub budowanie sumy.
W tym przykładzie dodajemy każdą wartość do bieżącej sumy i wyświetlamy wynik po zakończeniu pętli.
int[] nums = { 4, 8, 15 };
int total = 0;
foreach (var x in nums)
{
total += x;
}
Console.WriteLine(total);foreach z warunkami
Wewnątrz pętli można umieścić instrukcję if, aby wykonywać działanie tylko dla wybranych elementów.
Ten przykład wyświetla tylko parzyste liczby z tablicy.
int[] nums = { 1, 2, 3, 4, 5, 6 };
foreach (var x in nums)
{
if (x % 2 == 0)
Console.WriteLine(x);
}foreach odczytuje, nie zastępuje
Zmienna sterująca pętli jest w jej obrębie tylko do odczytu. Nie można przypisać jej nowej wartości, aby zmienić kolekcję.
Ten wiersz spowodowałby błąd kompilacji, ponieważ zmienna pętli foreach jest niezmienna.
foreach (var x in nums)
{
x = x + 1; // ERROR: cannot assign to iteration variable
}Przechodzenie po znakach
Napis jest sekwencją znaków, więc po nim również można przechodzić za pomocą pętli foreach.
Podczas każdego przebiegu otrzymuje się jeden element typu char z tekstu.
string word = "code";
foreach (var c in word)
{
Console.WriteLine(c);
}Kiedy używać foreach
Użyj foreach, gdy chcesz odwiedzić każdy element i nie potrzebujesz indeksu.
Jeśli potrzebujesz pozycji albo chcesz modyfikować kolekcję podczas przechodzenia po niej, lepszym rozwiązaniem będzie pętla for.
foreach a for
Pętla for zarządza licznikiem i korzysta z indeksowania, takiego jak arr[i].
foreach ukrywa te mechanizmy. Jest krótsza i pozwala uniknąć błędów o jeden podczas zwykłego odczytywania elementów.
for (int i = 0; i < names.Length; i++)
{
Console.WriteLine(names[i]);
}Szybkie sprawdzenie
Sprawdź, czego nauczyłeś się o pętli foreach.
Podsumowanie
Nauczyłeś się, że foreach odwiedza każdy element kolekcji bez używania indeksu.
Zmienna sterująca pętli jest kopią każdego elementu dostępną tylko do odczytu. Używaj foreach do przejrzystego odczytu, a for, gdy potrzebujesz pozycji lub chcesz modyfikować elementy.
Często zadawane pytania
Czy lekcja „Pętla foreach” jest bezpłatna?
Tak — pełny tekst „Pętla foreach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pętla foreach”?
Przeiteruje Pan/Pani bez używania indeksów. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C# Academy?
Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Pętla foreach”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?
Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.