C# Language per ciascuno


Esempio

foreach viene utilizzato per scorrere gli elementi di una matrice o gli elementi all'interno di una raccolta che implementa IEnumerable ✝.

var lines = new string[] { 
    "Hello world!", 
    "How are you doing today?", 
    "Goodbye"
};

foreach (string line in lines)
{
    Console.WriteLine(line);
}

Questo uscirà

"Ciao mondo!"
"Come stai oggi?"
"Addio"

Live Demo su .NET Fiddle

È possibile uscire dal ciclo foreach in qualsiasi momento utilizzando la parola chiave break o passare alla successiva iterazione utilizzando la parola chiave continue .

var numbers = new int[] {1, 2, 3, 4, 5, 6};

foreach (var number in numbers)
{
    // Skip if 2
    if (number == 2)
        continue;

    // Stop iteration if 5
    if (number == 5)
        break;

    Console.Write(number + ", ");
}

// Prints: 1, 3, 4, 

Live Demo su .NET Fiddle

Si noti che l'ordine di iterazione è garantito solo per determinate raccolte come matrici ed List , ma non è garantito per molte altre raccolte.


✝ Mentre IEnumerable viene in genere utilizzato per indicare le raccolte enumerabili, foreach richiede solo che la raccolta esponga pubblicamente il metodo object GetEnumerator() , che deve restituire un oggetto che espone il metodo bool MoveNext() e l' object Current { get; } proprietà.