从我读到的,
yield return <value>
在执行该行的那一刻跳出函数。然而,斯科特·格思里的文字表明
var errors = dinner.GetRuleViolations();
即使 GetRuleViolations 是一长串
if(String.someFunction(text))
yield return new RuleViolation("Scary message");
if(String.anotherFunction(text))
yield return new RuleViolation("Another scary message");
这是如何运作的?