传统上,我在没有回报的情况下使用了收益率,例如:
IEnumerable<T> Foobar() { foreach( var foo in _stuff ) { yield foo; } }
但在其他示例中,我看到它被写为“yield return foo;”,请参见: http://msdn.microsoft.com/en-us/library/9k7k7cf0%28VS.80%29.aspx .
有什么区别吗?
C不允许 yield 全部靠自己-只有 yield return 和 yield break .
yield
yield return
yield break
产量 是上下文关键字,只能在迭代器块内识别,并且只能与 return 或 break .
产量
return
break