ホームページ > バックエンド開発 > C++ > C# で入れ子になったループを効率的に回避するにはどうすればよいですか?

C# で入れ子になったループを効率的に回避するにはどうすればよいですか?

DDD
リリース: 2025-01-17 04:21:11
オリジナル
234 人が閲覧しました

How Can I Efficiently Escape Nested Loops in C#?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート