は、なぜこのコードん:IEnumeratorが到達不能であっても、少なくとも1つのyieldステートメントを持つ必要があるのはなぜですか?
public IEnumerator Test()
{
}
はあなたにエラーを与える:
Error CS0161 'Test.GetEnumerator()': not all code paths return a value
しかし、このコード:
public IEnumerator Test()
{
if(false)
yield return 0;
}
はないのですか? (最初のMoveNext()はfalseを返します)
コルーチンとしてIEnumeratorを使用する場合、コルーチン(IEnumerator)を非同期操作をまだしていない(何も生成していませんが)将来それをする。 C#の仕様から
ダミーのif文の代わりに 'yield break;'を使うこともできます。 –