W tym artykule dowiemy się o pętlach foreach (alternatywie dla pętli for) oraz o tym, jak ich używać z tablicami i kolekcjami.
C # zapewnia łatwą w użyciu i bardziej czytelną alternatywę dla pętli for, pętli foreach podczas pracy z tablicami i kolekcjami w celu wykonania iteracji przez elementy tablic / kolekcji. Pętla foreach wykonuje iterację przez każdy element, stąd nazywana pętlą foreach.
Zanim przejdziesz dalej z każdą pętlą, odwiedź:
- C # for loop
- Tablice C #
- Kolekcje C #
Składnia pętli foreach
foreach (element in iterable-item) (// treść pętli foreach)
Tutaj element-iterowalny może być tablicą lub klasą kolekcji.
Jak działa pętla foreach?
Słowo in
kluczowe używane wraz z pętlą foreach służy do iteracji po iterowalnym elemencie. Słowo kluczowe in wybiera element z elementu iterowalnego w każdej iteracji i przechowuje go w elemencie zmiennym.
W pierwszej iteracji pierwszy element iterowalnego elementu jest przechowywany w elemencie. W drugiej iteracji wybierany jest drugi element i tak dalej.
Liczba wykonań pętli foreach jest równa liczbie elementów w tablicy lub kolekcji.
Oto przykład iteracji po tablicy przy użyciu pętli for:
Przykład 1: Drukowanie tablicy przy użyciu pętli for
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) )
To samo zadanie można wykonać za pomocą pętli foreach.
Przykład 2: Drukowanie tablicy przy użyciu pętli foreach
using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) )
Kiedy uruchomimy oba programy, wynik będzie:
Cześć
W powyższym programie pętla foreach wykonuje iterację po tablicy myArray. W pierwszej iteracji pierwszy element, czyli myArray (0) jest wybierany i zapisywany w ch.
Podobnie w ostatniej iteracji wybierany jest ostatni element czyli myArray (4). Wewnątrz pętli drukowana jest wartość ch.
Kiedy spojrzymy na oba programy, program wykorzystujący pętlę foreach jest bardziej czytelny i łatwy do zrozumienia. Dzieje się tak z powodu jego prostej i wyrazistej składni.
Dlatego podczas pracy z tablicami i kolekcjami preferowana jest pętla foreach zamiast pętli for.
Przykład 3: Przechodzenie przez tablicę płci przy użyciu pętli foreach
Ten program oblicza liczbę kandydatów płci męskiej i żeńskiej.
using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) )
Kiedy uruchomimy program, wynik będzie:
Liczba mężczyzn = 6 Liczba kobiet = 4
Przykład 4: pętla foreach z listą (kolekcją)
Ten program oblicza sumę elementów na liście.
using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) )
Kiedy uruchomimy program, wynik będzie:
Suma = 44
W tym programie pętla foreach jest używana do przechodzenia przez kolekcję. Przechodzenie przez kolekcję jest podobne do przechodzenia przez tablicę.
Pierwszy element kolekcji jest wybierany w pierwszej iteracji, drugi element w drugiej iteracji i tak dalej, aż do ostatniego elementu.