C # foreach loop (con esempi)

In questo articolo impareremo i cicli foreach (un'alternativa al ciclo for) e come usarli con array e raccolte.

C # fornisce un'alternativa facile da usare e più leggibile al ciclo for, il ciclo foreach quando si lavora con matrici e raccolte per scorrere gli elementi di matrici / raccolte. Il ciclo foreach itera attraverso ogni elemento, quindi chiamato ciclo foreach.

Prima di andare avanti con il ciclo foreach, visita:

  • C # per ciclo
  • Matrici C #
  • Collezioni C #

Sintassi del ciclo foreach

 foreach (elemento in iterable-item) (// corpo del ciclo foreach) 

Qui iterable-item può essere un array o una classe di raccolta.

Come funziona il ciclo foreach?

La inparola chiave utilizzata insieme al ciclo foreach viene utilizzata per iterare sull'elemento iterabile. La parola chiave in seleziona un elemento dall'elemento iterabile a ogni iterazione e lo memorizza nell'elemento variabile.

Alla prima iterazione, il primo elemento di iterable-item viene memorizzato in element. Alla seconda iterazione, viene selezionato il secondo elemento e così via.

Il numero di volte in cui verrà eseguito il ciclo foreach è uguale al numero di elementi nell'array o nella raccolta.

Ecco un esempio di iterazione attraverso un array utilizzando il ciclo for:

Esempio 1: stampa di array utilizzando il ciclo 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)); ) ) ) ) 

La stessa operazione può essere eseguita utilizzando il ciclo foreach.

Esempio 2: stampa di un array utilizzando il ciclo 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); ) ) ) ) 

Quando eseguiamo entrambi i programmi, l'output sarà:

 Ciao 

Nel programma precedente, il ciclo foreach itera sull'array, myArray. Alla prima iterazione, il primo elemento, ovvero myArray (0), viene selezionato e memorizzato in ch.

Allo stesso modo nell'ultima iterazione, viene selezionato l'ultimo elemento, ovvero myArray (4). All'interno del corpo del ciclo, viene stampato il valore di ch.

Quando guardiamo entrambi i programmi, il programma che usa il ciclo foreach è più leggibile e facile da capire. Ciò è dovuto alla sua sintassi semplice ed espressiva.

Quindi, il ciclo foreach è preferito rispetto al ciclo for quando si lavora con array e raccolte.

Esempio 3: attraversare un array di genere utilizzando il ciclo foreach

Questo programma calcola il numero di candidati maschi e femmine.

 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); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Numero di maschi = 6 Numero di femmine = 4 

Esempio 4: ciclo foreach con List (Collection)

Questo programma calcola la somma degli elementi in una lista.

 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); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Somma = 44

In questo programma, il ciclo foreach viene utilizzato per attraversare una raccolta. Attraversare una raccolta è simile all'attraversare un array.

Il primo elemento della raccolta viene selezionato alla prima iterazione, il secondo elemento alla seconda iterazione e così via fino all'ultimo elemento.

Articoli interessanti...