C#でネストされたループから抜ける方法 (goto 文の利用)

目次

C#でネストされたループのから抜け出すコードの紹介です。

概要

C#でネストされたループのから抜け出す場合には、goto文を利用します。

書式

goto ラベル名

ラベル名: ;

"goto ラベル名"から"ラベル名:"にジャンプします。

下記の例では、break;では中のループを抜け出す動作であり、ループ全体から抜ける場合はgoto文を使って抜けます。

コード

private void button8_Click(object sender, EventArgs e)
{
  for (int i=0; i < 10; i++) {
    int j = 0;
    while (true) {
      textBox1.Text += string.Format("({0:d},{1:d}) ",i,j);
      if (i * j == 25) goto EXITLOOP;
      j++;
      if (12 < j) break;
    }
  }
      
  EXITLOOP: ;
  textBox1.Text += "\r\nComplete";
}

実行結果

(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6) (0,7) (0,8) (0,9) (0,10) (0,11) (0,12) (1,0) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9) (1,10) (1,11) (1,12) (2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7) (2,8) (2,9) (2,10) (2,11) (2,12) (3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7) (3,8) (3,9) (3,10) (3,11) (3,12) (4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7) (4,8) (4,9) (4,10) (4,11) (4,12) (5,0) (5,1) (5,2) (5,3) (5,4) (5,5) 
Complete
AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2011-02-05
Copyright © 1995–2025 iPentec all rights reserverd.