在C#中退出foreach循环
foreach (var name in parent.names) { if name.lastname == null) { Violated = true; this.message = "lastname reqd"; } if (!Violated) { Violated = !(name.firstname == null) ? false : true; if (ruleViolated) this.message = "firstname reqd"; } }  每当违反是真的,我想立即摆脱foreach循环。 我该怎么做? 
 使用break ; 
编辑:
与您的问题无关,我在您的代码中看到以下行:
 Violated = !(name.firstname == null) ? false : true; 
 在这一行中,你取一个布尔值(name.firstname == null) 。 然后,你应用! 运营商。 然后,如果值为true,则将Violated设置为false; 否则为真。 所以基本上,Violated被设置为与原始expression式(name.firstname == null)相同的值。 为什么不使用,如在: 
 Violated = (name.firstname == null); 
只要使用声明:
 break; 
 使用break关键字。 
看看这个代码,它可以帮助你快速退出循环!
 foreach (var name in parent.names) { if (name.lastname == null) { Violated = true; this.message = "lastname reqd"; break; } else if (name.firstname == null) { Violated = true; this.message = "firstname reqd"; break; } } 
在testing期间,我发现中断后的foreach循环进入循环beging,而不是循环。 所以我把foreach改成了for,并在这种情况下正常工作 – 在break程序stream程退出循环之后。