积极答复者
foreach 如何得到当前循环是第几次?

问题
-
答案
-
就是想知道C#里有没有对foreach内置个什么属性来获得当前是第几次
对不起,没有。
因为foreach展开是对实现IEnumerable接口的遍历。
foreach(var item in collection)
等同于:
for(IEnumerator pointer = some instance; pointer.Next();pointer.Next());
其中注意:IEnumerable包含了IEnumerator作为返回接口,因此在类内部必须还要实现此接口,以便实现遍历。
http://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.aspx
- 已标记为答案 happydaily 2012年5月4日 6:06
全部回复
-
用个变量计数或用for
本帖内容仅供参考,没有任何保证. This post is provided without any warranty.
补充:
int counter = 0; foreach(var item in 某个集合) { counter++; //做你的事情…… }
- 已建议为答案 chenrensongModerator 2012年5月3日 2:28
-
foreach(var item in 某个集合)
{
某个集合.IndexOf(item);
}
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
-
int count = 0; foreach(var item in collection) { count++; //do }
其实确实应该像编程志愿者所写的那样。。。或者用for循环!- 已建议为答案 chenrensongModerator 2012年5月3日 2:28
-
就是想知道C#里有没有对foreach内置个什么属性来获得当前是第几次
对不起,没有。
因为foreach展开是对实现IEnumerable接口的遍历。
foreach(var item in collection)
等同于:
for(IEnumerator pointer = some instance; pointer.Next();pointer.Next());
其中注意:IEnumerable包含了IEnumerator作为返回接口,因此在类内部必须还要实现此接口,以便实现遍历。
http://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.aspx
- 已标记为答案 happydaily 2012年5月4日 6:06