forステートメント
C#でfor
の2重ループから抜けたい時、goto
ステートメントを使って次のような書き方ができるみたいです。
サンプルコード
using System;
public class Example
{
static public void Main ()
{
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 5; ++j)
{
Console.WriteLine($"i={i}, j={j}");
if (i + j > 5) goto Finish;
}
}
Finish:
Console.WriteLine("Finish");
}
}
実行結果
i=0, j=0
i=0, j=1
i=0, j=2
i=0, j=3
i=0, j=4
i=1, j=0
i=1, j=1
i=1, j=2
i=1, j=3
i=1, j=4
i=2, j=0
i=2, j=1
i=2, j=2
i=2, j=3
i=2, j=4
Finish
switchステートメント
他にも、switch
ステートメントで
switch (n)
{
case 1:
// 実行したい内容1
break;
case 2:
// 実行したい内容2
goto case 1;
default
break;
}
のような書き方もできるみたいです。
慣れないと戸惑いそうですが、覚えておくと便利そうな気がします。
リンク
goto statement – C# Reference | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/goto