在某些情况下,方法应该与收益率回报一起使用,但在其他方法中则不然。
问题是,如果使用带有yield return的方法为变量赋值,则只返回一个项目。
在这种情况下,需要两种方法,一种用于常规使用,另一种用于产量回报。
有没有办法在循环外使用带有yield return的方法?
答案 0 :(得分:4)
你的意思是你可以在循环之外使用 yield return
吗?
答案是肯定的:
IEnumerable<string> GetStrings()
{
yield return "foo";
yield return "bar";
yield return "baz";
}
...但这是yield return
的一个不寻常的用例。
答案 1 :(得分:0)
使用yield return
的方法会返回IEnumerable
,也可能会返回IEnumerable<int>
更具体的内容。如果您只对第一项感兴趣,可以致电:
int myInt = myYieldReturnMethod().First();