-2

在某些情况下,方法应该与 yield return 一起使用,但在其他情况下则不然。

问题是,如果使用带有yield return的方法为变量赋值,则只返回一项。

在这种情况下,将需要两种方法,一种用于常规使用,另一种用于收益返回。

有什么方法可以在循环外使用该方法与 yield return 吗?

4

2 回答 2

4

你的意思是你可以在循环之外使用吗? yield return

答案是肯定的:

IEnumerable<string> GetStrings()
{
    yield return "foo";
    yield return "bar";
    yield return "baz";
}

...但这将是yield return.

于 2013-06-06T16:16:18.817 回答
0

使用的方法yield return将返回一个IEnumerable并且可能返回更具体的东西,比如一个IEnumerable<int>. 如果您只对第一项感兴趣,可以致电:

int myInt = myYieldReturnMethod().First();
于 2013-06-06T16:09:07.253 回答