switch 文
CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 27/69。
switch文は、多方向のif文のようなものです。単一の条件を評価する代わりに、変数の値を複数のcaseと照合し、一致するcaseに関連付けられたコードを実行します。
switch文の基本的な構造は次のとおりです:
switch (variable) {
case value1:
// variable が value1 と等しい場合に実行するコード
break;
case value2:
// variable が value2 と等しい場合に実行するコード
break;
// ... その他のケース
default:
// どのケースにも一致しない場合に実行するコード
break;
}switchキーワードの後には、テストしたいvariableを括弧内に指定します。- 各
caseは、variableが取り得る値を表します。 - 各
case内のコードは、variableがそのcaseの値と一致する場合に実行されます。
break文は重要です。caseが実行された後にswitchを終了します。これがないと、実行は次のcaseに「フォールスルー」してしまいます。
defaultcase は省略可能で、他の case がどれも matches しない場合に実行されます。
例を見てみましょう:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... 他の日のケース
default:
dayName = "Invalid day";
break;
}複数のケースを1つにまとめることもできます:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... 他の日のケース
default:
dayName = "Invalid day";
break;
}チャレンジ
初心者月番号(1 は January、2 は February など)を受け取り、その月が属する季節を出力するプログラムを作成してください。ロジックには switch 文を使用してください。
季節と対応する月は次のとおりです:
- Winter:12月 (12)、1月 (1)、2月 (2)
- Spring:3月 (3)、4月 (4)、5月 (5)
- Summer:6月 (6)、7月 (7)、8月 (8)
- Autumn:9月 (9)、10月 (10)、11月 (11)
自分で試してみよう
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// 以下にコードを書いてください
Console.WriteLine(season);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ