【发布时间】:2012-08-21 15:42:14
【问题描述】:
我有一个foreach 循环需要转换为for 或while 循环。我的循环如下所示:
foreach (Item item in Items)
{
// some stuff
}
什么是等效的for 或while 循环?
我想我需要使用GetEnumerator 来获得IEnumerator<Item>,但我不知道如何正确使用它。 Items 不是列表,否则我会使用索引。
【问题讨论】:
-
有什么特殊原因需要转换它吗?
-
@MassimilianoPeluso 我需要做一些在
foreach中不起作用的额外工作,所以我需要知道如何使用 GetEnumerator。 -
@KendallFrey:什么东西不感兴趣,它会与枚举器一起使用吗?您最好按照 Ryan 在他(现已删除)的答案中建议的操作,并使用计数循环。
-
如果我们要完美替代它,它可能是如此完美,以至于它确实具有您最初想要超越的相同缺点。那么原来的缺点是什么?
-
@KendallFrey 为什么不在经典中使用 Count() 方法,然后按索引访问项目?我错过了什么吗?
标签: c# .net foreach ienumerable ienumerator