C# のswitch case文 はいくつかの特徴があります。C言語では可能なフォールスルー(caseを通り抜けて処理)ができないことや、条件に文字列が使用できることができるなどはよく知られています。
switch (fruit) { case "Apple": break; case "Banana": break; case "Chocolate": break; default: break; }
switch (fruit) { case "Apple": { int count = 0; break; } case "Banana": break; case "Chocolate": break; default: break; }
case ブロック内でのみ必要なローカル変数がある場合は中かっこを使用します。
switch (fruit) { default: case "Apple": break; case "Banana": break; case "Chocolate": break; }
default は必ずしも最後である必要はありません。
switch (fruit) { case "Apple": goto case "Chocolate"; case "Banana": goto default; case "Chocolate": break; default: break; }
C言語では可能だったフォールスルー(caseを通り抜けて処理)が必要な場合、このgoto文を上手く使用することで対応が可能になります。