C# のネストされたループから効率的に抜け出す
入れ子になったループを含むシナリオでは、内側のループと外側のループをすばやく切り替えることが重要です。次の 2 つの方法でこれを効果的に実現できます:
匿名メソッドを使用する
ブール値フラグをループ内で管理する代わりに、匿名メソッドの使用を検討してください。これにより、ループの反復が終了メカニズムから切り離され、return
ステートメントを介した迅速な終了が可能になります。
例:
<code class="language-csharp">// 创建一个封装嵌套循环的匿名方法 Action work = delegate { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) return; } } }; work(); // 调用匿名方法执行嵌套循环</code>
ローカル関数を使用する (C# 7 以降のみ)
C# 7 では、匿名メソッドのより効率的で読みやすい代替手段を提供するローカル関数が導入されています。ローカル関数は外側のループ内で宣言し、return
ステートメントを使用して終了できます。
例:
<code class="language-csharp">// 定义一个处理嵌套循环的局部函数 void Work() { for (int x = 0; x < 10; x++) { for (int y = 0; y < 10; y++) { if (/* 退出条件 */) return; } } } Work(); // 调用局部函数执行嵌套循环</code>
これらの手法は、制御された方法でネストされたループを終了する効率的な方法を提供します。パフォーマンスに大きな影響を与えるため、例外の使用は避けてください。
以上がC# で入れ子になったループを効率的に回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。