C#语言foreach

示例

foreach用于迭代数组的元素或实现IEnumerable✝的集合中的项目。

var lines = new string[] { 
    "你好,世界!", 
    "How are you doing today?", 
    "Goodbye"
};

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

这将输出

“你好,世界!”
“今天过得好吗?”
“再见”

.NET Fiddle上的实时演示

您可以foreach使用break关键字随时退出循环,或使用continue关键字移至下一个迭代。

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

foreach (var number in numbers)
{
    // 如果2则跳过
    if (number == 2)
        continue;

    // 如果5则停止迭代
    if (number == 5)
        break;

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

// 印数:1,3,4,

.NET Fiddle上的实时演示

请注意,对于某些集合(例如数组和)可以保证迭代的顺序List,而对于许多其他集合则不能保证。


✝虽然IEnumerable通常用于指示可枚举的集合,但foreach仅要求该集合公开公开该方法,该方法应返回一个公开该方法和属性的对象。object GetEnumerator()bool MoveNext()object Current { get; }