相关疑难解决方法(0)

使用IEnumerable而不使用foreach循环

我必须在这里找到一些简单的东西.

请使用以下代码:

public IEnumerable<int> getInt(){
  for(int i = 0; i < 10; i++){
   yield return i;
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以这样称呼:

foreach (int j in obj.getInt()){
  //do something with j
}
Run Code Online (Sandbox Code Playgroud)

如何在没有foreach循环的情况下使用getInt方法:

IEnumerable<int> iter = obj.getInt();
// do something with iter ??
Run Code Online (Sandbox Code Playgroud)

谢谢.

EDITS

对于那些想知道为什么我想要这个的人.我正在迭代两件事:

IEnumerator<int> iter = obj.getInt().GetEnumerator();
foreach(object x in xs){
  if (x.someCondition) continue;
  iter.MoveNext();
  int n = iter.current();
  x.someProp = n;
  etc...
}
Run Code Online (Sandbox Code Playgroud)

c# ienumerable yield-return

35
推荐指数
3
解决办法
5万
查看次数

标签 统计

c# ×1

ienumerable ×1

yield-return ×1