Condividi tramite


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

Parole chiave di C#

Istruzioni di iterazione (Riferimenti per C#)

for (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#