foreach, in (Riferimenti per C#)
L'istruzione foreach ripete un gruppo di istruzioni incorporate per ciascun elemento di una matrice o di una raccolta di oggetti che implementa l'interaccia IEnumerable o IEnumerable. L'istruzione foreach viene utilizzata per scorrere la raccolta e ottenere le informazioni desiderate; non deve tuttavia essere utilizzata per aggiungere o rimuovere elementi nella raccolta di origine allo scopo di evitare effetti indesiderati. Se è necessario aggiungere o rimuovere elementi nella raccolta di origine, utilizzare un ciclo for.
L'esecuzione delle istruzioni incorporate viene ripetuta per ciascun elemento della matrice o della raccolta. Quando l'iterazione è stata completata per tutti gli elementi della raccolta, il controllo viene trasferito alla prima istruzione che segue il blocco foreach.
In corrispondenza di qualsiasi punto all'interno del blocco foreach è possibile uscire dal ciclo utilizzando la parola chiave break o passare direttamente all'iterazione successiva nel ciclo utilizzando la parola chiave continue.
È inoltre possibile uscire da un ciclo foreach mediante le istruzioni goto, return e throw.
Per ulteriori informazioni sulla parola chiave foreach e per esempi di codice, vedere gli argomenti riportati di seguito:
Utilizzo di foreach con matrici (Guida per programmatori C#)
Procedura: accedere a una classe di raccolte con foreach (Guida per programmatori C#)
Esempio
Il seguente codice riporta tre esempi:
un ciclo foreach tipico visualizza il contenuto di una matrice di integer
ciclo for che esegue la stessa operazione
ciclo foreach che gestisce un conteggio del numero di elementi della matrice
class ForEachTest
{
static void Main(string[] args)
{
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
System.Console.WriteLine(element);
}
System.Console.WriteLine();
// Compare the previous loop to a similar for loop.
for (int i = 0; i < fibarray.Length; i++)
{
System.Console.WriteLine(fibarray[i]);
}
System.Console.WriteLine();
// You can maintain a count of the elements in the collection.
int count = 0;
foreach (int element in fibarray)
{
count += 1;
System.Console.WriteLine("Element #{0}: {1}", count, element);
}
System.Console.WriteLine("Number of elements in the array: {0}", count);
}
// Output:
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// Element #1: 0
// Element #2: 1
// Element #3: 1
// Element #4: 2
// Element #5: 3
// Element #6: 5
// Element #7: 8
// Element #8: 13
// Number of elements in the array: 8
}
Specifiche del linguaggio C#
Per altre informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.
Vedere anche
Riferimenti
Istruzioni di iterazione (Riferimenti per C#)