Menu
CoddyTech

switch 文

CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 27/69。

switch文は、多方向のif文のようなものです。単一の条件を評価する代わりに、変数の値を複数のケースと照合し、一致するケースに関連付けられたコードを実行します。

switch文の基本的な構造は次のとおりです。

switch (variable) {
    case value1:
        // variable が value1 と等しい場合に実行するコード
        break;
    case value2:
        // variable が value2 と等しい場合に実行するコード
        break;
    // ... さらに case が続く
    default:
        // 一致する case がない場合に実行するコード
        break;
}
  • switch キーワードの後に、テストしたい変数を括弧で囲んで指定します。
  • 各 case は、変数が取りうる値を表します。
  • 変数の値がその case の値と一致すると、その case 内のコードが実行されます。
  • 空でないすべての case は break(または return)で終わる必要があります。これにより switch を抜けます。これを省略するとコンパイルエラーになります。C や Java とは異なり、C# ではあるケースから次のケースへ実行が「フォールスルー」することはありません。以下に示すように、空のケースラベルを連続して並べた場合に限り、コードを共有します。
  • defaultケースは省略可能で、他のケースが一致しない場合に実行されます。

例を示します:

int day = 3;
string dayName;
switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... 他の曜日に対応するcase
    default:
        dayName = "Invalid day";
        break;
}

複数のケースを1つにまとめることもできます:

int day = 3;
string dayName;
switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... 他の曜日のcase
    default:
        dayName = "Invalid day";
        break;
}
challenge icon

チャレンジ

初心者

月番号(1はJanuary、2はFebruaryなど)を受け取り、その月が属する季節を出力するプログラムを作成してください。ロジックにはswitch文を使用してください。

季節と対応する月は次のとおりです。

  • Winter: December (12)、January (1)、February (2)
  • Spring: March (3)、April (4)、May (5)
  • Summer: June (6)、July (7)、August (8)
  • Autumn: September (9)、October (10)、November (11)

季節名は上記のとおり、英語で正確に出力してください。

自分で試してみよう

using System;

public class Program {
    public static void Main(string[] args) {
        int month = int.Parse(Console.ReadLine());
        string season = "";
        
        // 以下にコードを書いてください
        
        
        Console.WriteLine(season);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: C#オンラインコンパイラ