C# Graceful Exit-Methode für verschachtelte Schleifen
Beim Umgang mit verschachtelten C#-Schleifen ist es manchmal notwendig, alle Schleifen vorzeitig zu beenden. Herkömmliche Ansätze basieren häufig auf booleschen Flags oder GOTO-Anweisungen, die sich beide auf die Lesbarkeit und Leistung des Codes auswirken.
Lösung
Ein eleganterer Ansatz ist die Verwendung anonymer Methoden oder lokaler Funktionen. Bei anonymen Methoden kann die return
-Anweisung die Methode vorzeitig beenden und dadurch aus allen verschachtelten Schleifen springen. Dieser Ansatz funktioniert relativ gut und verbessert die Lesbarkeit des Codes.
Beispiel für die Verwendung anonymer Methoden
<code class="language-csharp">// 创建一个匿名方法 Action work = delegate { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (x == 5 && y == 5) { return; // 退出匿名方法,从而退出两个循环 } } } }; work(); // 调用匿名方法</code>
Beispiel für die Verwendung lokaler Funktionen
C# 7 führte lokale Funktionen ein, die eine syntaktisch präzisere Alternative zum Beenden verschachtelter Schleifen bieten. Lokale Funktionen sind syntaktisch verfeinert:
<code class="language-csharp">// 创建一个局部函数 void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (x == 5 && y == 5) { return; // 退出局部函数,从而退出两个循环 } } } } Work(); // 调用局部函数</code>
Zusammenfassung
Die Verwendung anonymer Methoden oder lokaler Funktionen bietet eine effiziente und einfach zu wartende C#-Methode für das frühzeitige Beenden einer verschachtelten Schleife. Diese Methoden verbessern die Lesbarkeit des Codes und bieten eine leistungsfähigere Alternative zu herkömmlichen Methoden wie booleschen Flags oder GOTO-Anweisungen.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient aus verschachtelten Schleifen ausbrechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!