C#中枚举器的含义是什么?
答案 0 :(得分:8)
枚举器可帮助您枚举(迭代)项目集合。
您只需查看members of the IEnumerator Interface即可推断出目的。更具体地说,枚举器确切地知道你在集合中的位置(当前项)以及下一个项目的位置(MoveNext方法)。
查看Iterator上的维基百科文章:
答案 1 :(得分:4)
“Enumerator”是.NET Framework的 iterators 的名称。迭代器上的Wikipedia页面包含对该主题的一个很好的介绍:
有关.NET实现的特定信息,IEnumerator
界面的MSDN页面包含更多详细信息:
通常,迭代器允许您遍历集合。在C#中,迭代器最常用于 implicity 到foreach
statement:
foreach (myType o in myCollection)
{
// do something with o
}
这相当于迭代器的以下显式用法:
IEnumerator<myType> iter = myCollection.GetEnumerator();
while (iter.MoveNext())
{
var o = iter.Current;
// do something with o
}
答案 2 :(得分:2)
IEnumerable和IEnumarable有一个名为GetEnumerator()的方法,它返回一个Enumerator对象
枚举器公开GetNext()方法,这是非常自我解释的。
枚举器是启用foreach循环的原因
答案 3 :(得分:1)
使用枚举器迭代一组项目。
做这种事情的一个好方法是C#使用foreach
循环。
例如:
IList<string> actors = new List<string>();
actors.Add("Chuck Norris");
actors.Add("Denzel Washington");
actors.Add("Sylvester Stallone");
// iterate over the list using foreach
foreach (string actor in actors)
{
//...
}