在 C# 当中的 foreach 语句实际上就是遍历迭代器的语法糖。例如我们拥有以下代码:
public class TestClass
{
public void TestMethod()
{
var integers = new int[] {1,2,3,4,5,6,7,8,9};
foreach(var @int in integers)
{
Console.WriteLine(@int);
}
}
}
上述代码结构十分简单,作用就是遍历 integers 数组,并将其结果输出到控制台当中。
由于 int[] 是一个Array 类型,它继承并实现了 IEnumerbale<T> 接口,所以 foreach 语句实际上是翻译成下面伪代码进行遍历输出的。
public class TestClass
{
public void TestMethod()
{
var integers = new int[] {1,2,3,4,5,6,7,8,9};
var tmpEnumerator = integers.GetEnumerator();
try
{
while(tmpEnumerator.MoveNext())
{
var itemValue = tempEnumerator.Current;
// 需要执行的代码段
Console.WriteLine(itemValue);
}
}
finally
{
tmpEnumerator.Dispose();
}
}
}
本文详细解析了C#中Foreach语句的工作原理,通过实例代码展示了如何使用Foreach遍历数组并将元素输出到控制台。深入探讨了Foreach语句背后的迭代器实现机制。
483

被折叠的 条评论
为什么被折叠?



