foreach

foreach 用於迭代陣列的元素或實現 IEnumerable 的集合中的專案。

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

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

這將輸出

“Hello World!”
“今天過得好嗎?”
再見

.NET 小提琴現場演示

你可以使用 break 關鍵字在任何時候退出 foreach 迴圈,或使用 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, 

.NET 小提琴現場演示

請注意,迭代的順序適用於某些集合,例如陣列和 List,但不能保證許多其他集合。

✝雖然 IEnumerable 通常用於表示可列舉的集合,但 foreach 僅要求集合公開公開 object GetEnumerator() 方法,該方法應返回暴露 bool MoveNext() 方法和 object Current { get; } 屬性的物件。