C# foreach使用
C# foreach使用
当集合实现 IEnumerable<T>
接口时,可以使用foreach循环处理改集合中的内容。
原理
using System;
namespace 遍历
{
internal class Program
{
private static void Main()
{
var numbers=new[]{1,2,3,4,5,6};
foreach (var number in numbers)
{
Console.WriteLine(number);
}
//GetEnumerator()返回IEnumerator,数组实现了IEnumerator接口,数组引用转换为IEnumerator引用,
var enumerator = numbers.GetEnumerator();
while (enumerator.MoveNext())
{
var number = enumerator.Current;
Console.WriteLine(number);
}
//数组实现了IDisposable接口,数组引用转换为IDisposable引用
var disposable = enumerator as IDisposable;
if (disposable !=null)
{
disposable.Dispose();
}
Console.ReadKey();
}
}
}