1

私は伝統的にC#でyieldをリターンなしで使用してきました。例:

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を参照してください。

違いはありますか?

4

1 に答える 1

9

yieldC#は、それ自体ではすべてを許可しません-とのみyield returnを許可しyield breakます。

yieldは、イテレータブロック内でのみ認識され、またはのいずれかと組み合わせてのみ認識されるコンテキストキーワードreturnですbreak

于 2009-11-06T03:29:43.463 に答える