[C#]foreachやswitch文で途中で抜ける!breakでの終了について

アイキャッチC#
広告

C#においてforeach文やswitch文はよく使われる制御構造ですが、

switch文の中からforeach文を抜け出す際にはいくつかの注意が必要です。

本記事ではその方法について解説します。

広告

foreach文の基本的な抜け方

break文を使用してforeachループから抜けることができます。

foreach (var 要素 in コレクション)
{
    if (条件)
    {
        // 条件が真の場合の処理
        break; // ループを抜ける
    }

    // ループ内の処理
}

// ループ処理を抜けた後の処理

gotoでswitch文から途中で抜ける

goto文を使用して、ラベルにジャンプすることで、foreachループから直接抜けることができます。

foreach (var 要素 in コレクション)
{
    switch (条件)
    {
        case 値1:
            // 値1の場合の処理
            goto ループ終了;
        case 値2:
            // 値2の場合の処理
            goto ループ終了;
        // 他のケース
    }
}

ループ終了:
// ループ処理を抜けた後の処理
広告

return文でメソッド処理を終了させる

return文を使用して、メソッド自体から抜けることで、foreachループも抜けることができます。

foreach (var 要素 in コレクション)
{
    switch (条件)
    {
        case 値1:
            // 値1の場合の処理
            return;
        case 値2:
            // 値2の場合の処理
            return;
        // 他のケース
    }
}

// ループ処理を抜けた後の処理
広告

フラグ変数を使用して抜ける

フラグ変数を使用して、foreachループ内で条件が満たされた場合に、

そのフラグをセットし、ループを抜けることができます。

bool ループを抜けるフラグ = false;

foreach (var 要素 in コレクション)
{
    switch (条件)
    {
        case 値1:
            // 値1の場合の処理
            ループを抜けるフラグ = true;
            break;
        case 値2:
            // 値2の場合の処理
            ループを抜けるフラグ = true;
            break;
        // 他のケース
    }

    if (ループを抜けるフラグ)
        break;
}

// ループ処理を抜けた後の処理

まとめ

まとめ

foreach文内でif文やswitch文からループ処理を抜ける方法として、

goto文やreturn文、break文を使用することが一般的です。

ただし、これらの制御構文は使い方に注意が必要なため、コードの可読性を損なわないよう慎重に使用しましょう。

C#
広告
広告
塩竈Code
タイトルとURLをコピーしました