興味深い質問があります。MSDN yield構文によると:
yield return <expression>; // yield some value
yield break; // exiting from iterator
それだけではない理由:
yield <expression>; // yield some value
return; // exiting from iterator
私にとっては、2 番目の形式の方が冗長ではありませんが、最初の形式と同じ意味を持ちます。問題は、.NET 設計者がなぜ最初の形式を選択したのかということです。これはどのような理由で発生する可能性がありますか? 2 番目のフォームにはどのような潜在的な設計上の問題がありますか?