goto文の使い道
バグの原因になるからと避けていたり、よほどのことが無い限り使わなくなったgoto文ですが、昔の私が変なもの書いていたのでブログネタに
C#のコンソールアプリで
static void Main(string[] args) { for (var i = 0; i < 4; i++) { Console.WriteLine($"\nFunc({i})"); Func(i); } Console.ReadLine(); } static void Func(int i) { switch (i) { case 0: Console.WriteLine("case 0:"); break; case 1: Console.WriteLine("case 1:"); goto case 0; case 2: Console.WriteLine("case 2:"); goto default; default: Console.WriteLine("default:"); break; } }
と書いて実行します
結果はこんな感じ
Func(0) case 0: Func(1) case 1: case 0: Func(2) case 2: default: Func(3) default:
MSDNにもswitch-caseラベルに移動できるって書いてありました
知らなかった(過去に私はこれを使っているようなので忘れていたが正解)
まぁ・・・つかわないですよねー