在 C 當中的 語句實際上就是遍歷迭代器的語法糖。例如我們擁有以下代碼: 上述代碼結構十分簡單,作用就是遍歷 數組,並將其結果輸出到控制台當中。 由於 是一個 類型,它繼承並實現了 介面,所以 語句實際上是翻譯成下麵偽代碼進行遍歷輸出的。 ...
在 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();
}
}
}