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; }