C#基本

[C#] 二重ループを抜ける

2023年2月9日

C#で二重ループを抜けるサンプルです。

単なるループはbreakキーワードで抜けられますが、
二重ループを一気に抜けられるキーワードは無いので
フラグを使うなどする必要があります。

サンプル

例)二重ループを抜ける

// 二重ループを抜ける判定用のフラグ
bool flg = false;

// 1つめのループ
for(int i = 0; i < 5; i++)
{
  // 2つめのループ
  for(int j = 0; j < 5; j++)
  {
    // iが2かつjが3の場合にループを抜ける
    if (i== 2 && j == 3)
    {
      flg = true;
      break;
    }

    // コンソールにiとjの値を出力する
    Console.WriteLine("{0},{1}", i, j);
  }

  // フラグがtrueの場合はループを抜ける
  if (flg)
  {
    break;
  }
}

結果

0,0
0,1
0,2
0,3
0,4
1,0
1,1
1,2
1,3
1,4
2,0
2,1
2,2

備考

  • breakキーワードでは1つのループしか抜けられないので、フラグを使用して外側のループを抜けるように制御すれば実現できます。
  • 上記の方法以外にも、二重ループの処理をfunction化して抜けたい箇所でreturnする方法もあります。

関連記事

-C#基本