<分区>
Possible Duplicate:
Proper Use of yield return
C#中yield
关键字有什么用?
从the MSDN reference没看懂| ...有人可以向我解释一下吗?
标签 c# syntax yield-return
<分区>
Possible Duplicate:
Proper Use of yield return
C#中yield
关键字有什么用?
从the MSDN reference没看懂| ...有人可以向我解释一下吗?
最佳答案
我会试着给你举个例子
这是经典的做法,它填充一个列表对象然后返回它:
private IEnumerable<int> GetNumbers()
{
var list = new List<int>();
for (var i = 0; i < 10; i++)
{
list.Add(i);
}
return list;
}
yield 关键字像这样一个一个地返回项目:
private IEnumerable<int> GetNumbers()
{
for (var i = 0; i < 10; i++)
{
yield return i;
}
}
想象一下调用 GetNumbers 函数的代码如下:
foreach (int number in GetNumbers())
{
if (number == 5)
{
//do something special...
break;
}
}
如果不使用 yield,您将不得不从 0-10 生成整个列表,然后将其返回,然后迭代直到找到数字 5。
现在多亏了 yield 关键字,您只会生成数字,直到找到您要查找的数字并跳出循环。
不知道我说的够不够..
关于c# - C#中 "yield"关键字有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270086/