谁能向我解释一下 IEnumerable 和 IEnumerator 之间有什么区别,
以及如何使用它们?
谢谢!!!
一般来说,一个IEnumerable
是一个可以枚举的对象,例如列表或数组。一个IEnumerator
是一个存储枚举状态的对象。
它们不是一个且相同的原因是,即使在单线程应用程序中,您也可以同时对同一对象进行多个枚举。例如,考虑以下代码:
foreach (x in mylist)
{
foreach (y in mylist)
{
if (x.Value == y.Value && x != y)
{
// Found a duplicate value
}
}
}
这会很好地工作,如果mylist
是一个正确的实施IEnumerable
,但如果mylist
返回自身作为枚举器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)