我有一个有趣的问题。根据 MSDN yield语法:
yield return <expression>; // yield some value
yield break; // exiting from iterator
为什么不只是:
yield <expression>; // yield some value
return; // exiting from iterator
对我来说,第二种形式会不那么冗长,并且仍然与第一种形式具有相同的含义。所以问题是 - 为什么 .NET 设计人员选择了第一种形式?什么原因可能导致这种情况?第二种形式有哪些潜在的设计问题?