0Pricing
C# Academy · Lekcja

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.

Wszystkie lekcje w tym kursie

  1. Pętla foreach
  2. Iterowanie po kolekcjach
  3. break i continue
  4. Typowe błędy podczas iterowania
← Powrót do C# Academy