gpt4 book ai didi

.net - IEnumerable & IEnumerator

转载 作者:行者123 更新时间:2023-12-04 13:03:52 25 4
gpt4 key购买 nike

任何人都可以向我解释 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 会失败将自身作为枚举器返回。

关于.net - IEnumerable & IEnumerator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635818/

25 4 0