Wie eine generische Liste FürJeden mit Delegierten verlassen?
Frage
Wie beende ich eine generische Liste FürJeden mit einem Delegierten? Brechen oder Rückgabe nicht funktioniert.
Beispiel:
Peoples.ForEach(delegate(People someone)
{
if(someone.Name == "foo")
???? What to do to exit immediatly ?
});
Lösung
Sie können dies nicht erreichen mit FürJeden .
Andere Tipps
es nur schreiben, wie diese
foreach(People someone in Peoples)
{
if(someone.Name == "foo") break;
// rest of code below for != "foo"...
}
nur foo überspringen und immer noch die Aktion für alle anderen Sie tun können,
if(someone.Name == "foo") continue;
Sie etwas tun könnten, wie:
Peoples.TakeWhile(p=> p.Name != "foo")
.ToList().ForEach(p => Console.WriteLine(p.Name));
, aber das ist übertrieben und schlecht in Bezug auf Leistung ...
Nur eine einfache foreach
Schleife verwenden.
Obwohl es nicht empfohlen, dass Sie eine Ausnahme aus dem Innern der ForEach()
werfen können, wenn die Bedingung erfüllt ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow