C#嵌套循環的有效退出方法
在處理巢狀循環時,常常需要事先同時退出所有循環。為此,可以使用幾種高效的技術。
Goto語句(不建議)
一種方法,雖然不可取,是使用goto語句:
<code class="language-c#">for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (/* 退出条件 */) { goto ExitLoops; } } } ExitLoops:;</code>
這種方法通常不被推薦,因為它難以閱讀且容易出錯。
匿名方法
更靈活的方法是將巢狀循環封裝在匿名方法中,並使用return語句退出:
<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>
在這種情況下,匿名方法中的return語句會導致立即退出兩個巢狀迴圈。
局部函數(C# 7及更高版本)
從C# 7開始引入的局部函數提供了一種更優雅的解決方案:
<code class="language-c#">void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) { return; } } } }</code>
局部函數可讓您在一個方法內宣告另一個方法,因此可以使用return語句退出兩個循環,同時保持程式碼結構清晰。
以上是如何有效率地退出C#中的嵌套循環?的詳細內容。更多資訊請關注PHP中文網其他相關文章!