更新:2007 年 11 月

foreach 语句对实现 System.Collections..::.IEnumerableSystem.Collections.Generic..::.IEnumerable<(Of <(T>)>) 接口的数组或对象集合中的每个元素重复一组嵌入式语句。foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。如果需要在源集合中添加或移除项,请使用 for 循环。

嵌入语句为数组或集合中的每个元素继续执行。当为集合中的所有元素完成迭代后,控制传递给 foreach 块之后的下一个语句。

可以在 foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字进入循环的下一轮迭代。

foreach 循环还可以通过 gotoreturnthrow 语句退出。

有关 foreach 关键字和代码示例的更多信息,请参见下面的主题:

对数组使用 foreach(C# 编程指南)

如何:使用 foreach 访问集合类(C# 编程指南)

示例

在此示例中,使用 foreach 显示整数数组的内容。

C# 复制代码
class ForEachTest
{
    static void Main(string[] args)
    {
        int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
        foreach (int i in fibarray)
        {
            System.Console.WriteLine(i);
        }
    }
}
/*
Output:
0
1
2
3
5
8
13
*/


C# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 5.3.3.16 foreach 语句

  • 8.8.4 foreach 语句

请参见