C# 入れ子になったループの正常な終了メソッド
C# のネストされたループを扱う場合、すべてのループを早めに終了する必要がある場合があります。従来のアプローチはブール フラグや GOTO ステートメントに依存することが多く、どちらもコードの可読性とパフォーマンスに影響を与えます。
解決策
より洗練されたアプローチは、匿名メソッドまたはローカル関数を使用することです。匿名メソッドでは、return
ステートメントはメソッドを早期に終了し、それによってすべてのネストされたループから抜け出すことができます。このアプローチは比較的良好に実行され、コードの可読性が向上します。
匿名メソッドの使用例
<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>
ローカル関数の使用例
C# 7 では、入れ子になったループを終了するための構文的により簡潔な代替手段を提供するローカル関数が導入されました。
<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>
概要
匿名メソッドまたはローカル関数を使用すると、効率的で保守が容易な C# ネストされたループの早期終了メソッドが提供されます。これらのメソッドはコードの可読性を向上させ、ブール フラグや GOTO ステートメントなどの従来のメソッドに代わるよりパフォーマンスの高いメソッドを提供します。
以上がC# で入れ子になったループを効率的に抜け出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。