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";
}
}
Zawsze, gdy naruszenie jest prawdą, chcę natychmiast wyjść z foreach
pętli. Jak mam to zrobić?
Po prostu użyj oświadczenia:
break;
źródło
Użyj
break
słowa kluczowego.źródło
Spójrz na ten kod, może pomóc ci szybko wyjść z pętli!
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; } }
źródło
Podczas testów stwierdziłem, że każda pętla po przerwie przechodzi do początku pętli, a nie poza pętlę. Zmieniłem więc foreach na for i przerwa w tym przypadku działa poprawnie - po przerwie przepływ programu wychodzi z pętli.
źródło
break
wychodzi, aw moim kodzie robi to również. Docs.microsoft.com/en-us/dotnet/csharp/language-reference/ ...continue
przechodzi do następnej iteracji.