Heim >Backend-Entwicklung >C++ >Wie kann ich verschachtelte Schleifen in C# effizient beenden?
Effektive Exit-Methode der verschachtelten C#-Schleife
Beim Umgang mit verschachtelten Schleifen ist es oft notwendig, alle Schleifen gleichzeitig im Voraus zu verlassen. Zu diesem Zweck können mehrere effiziente Techniken eingesetzt werden.
Goto-Anweisung (nicht empfohlen)
Eine Möglichkeit, wenn auch nicht ratsam, ist die Verwendung einer goto-Anweisung:
<code class="language-c#">for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (/* 退出条件 */) { goto ExitLoops; } } } ExitLoops:;</code>
Dieser Ansatz wird im Allgemeinen nicht empfohlen, da er schwer lesbar und fehleranfällig ist.
Anonyme Methode
Ein flexiblerer Ansatz besteht darin, die verschachtelte Schleife in einer anonymen Methode zu kapseln und mit der Return-Anweisung zu beenden:
<code class="language-c#">Action work = delegate { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) { return; } } } }; work();</code>
In diesem Fall führt die Return-Anweisung in der anonymen Methode dazu, dass beide verschachtelten Schleifen sofort beendet werden.
Lokale Funktionen (C# 7 und höher)
Lokale Funktionen, die ab C# 7 eingeführt wurden, bieten eine elegantere Lösung:
<code class="language-c#">void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) { return; } } } }</code>
Lokale Funktionen ermöglichen es Ihnen, eine Methode innerhalb einer anderen Methode zu deklarieren, sodass Sie Return-Anweisungen verwenden können, um beide Schleifen zu verlassen und gleichzeitig Ihre Codestruktur klar zu halten.
Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte Schleifen in C# effizient beenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!