Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中的“收益率”和“收益率回报率”之间有什么区别(如果有)?_C#_Yield_Yield Return - Fatal编程技术网

C# C中的“收益率”和“收益率回报率”之间有什么区别(如果有)?

C# C中的“收益率”和“收益率回报率”之间有什么区别(如果有)?,c#,yield,yield-return,C#,Yield,Yield Return,我传统上使用C中的收益率,但不返回,例如: IEnumerable<T> Foobar() { foreach( var foo in _stuff ) { yield foo; } } 但在其他例子中,我看到它被写为收益-回报-foo;,请参阅: 有什么区别吗?C本身不允许收益率,只允许收益率回报和收益率中断 yield是一个上下文关键字,只能在迭代器块内识别,并且只能与return或break结合使用。C不允许单独使用yield-仅允许yield ret

我传统上使用C中的收益率,但不返回,例如:

IEnumerable<T> Foobar() {
   foreach( var foo in _stuff ) {
      yield foo;
   }
}
但在其他例子中,我看到它被写为收益-回报-foo;,请参阅:

有什么区别吗?

C本身不允许收益率,只允许收益率回报和收益率中断

yield是一个上下文关键字,只能在迭代器块内识别,并且只能与return或break结合使用。

C不允许单独使用yield-仅允许yield return和yield break


yield是一个上下文关键字,只能在迭代器块内识别,并且只能与return或break结合使用。

我不知道像那样的“yield”本身甚至可以编译。关键字是“yield return”。请先阅读参考资料。我不知道像这样的“yield”本身甚至可以编译。关键字是“yield return”。请先阅读参考资料,谢谢。不知道为什么我记得能够写出没有回报的收益率。我想离C太远了。在迭代器块的原始设计中,它只是屈服,没有返回,但我不相信这些版本中有任何一个真正发布给公众。设计团队意识到,如果他们让它产生回报,那么他们就不必制作新的保留关键字。谢谢。不知道为什么我记得能够写出没有回报的收益率。我想离C太远了。在迭代器块的原始设计中,它只是屈服,没有返回,但我不相信这些版本中有任何一个真正发布给公众。设计团队意识到,如果他们让它产生回报,那么他们就不必制作新的保留关键字。