C# での複数ケースの switch ステートメント

Muhammad Maisam Abbas 2024年2月16日
  1. C# で複数のケースの switch ステートメントを作成する
  2. C# で範囲指定されたケースを使った複数ケースのスイッチステートメントを作成する
C# での複数ケースの switch ステートメント

このチュートリアルでは、C# で複数ケースの switch ステートメントを作成する方法を紹介します。

C# で複数のケースの switch ステートメントを作成する

switch ステートメントは、いくつかの条件に基づいて、一連のケースから 1つの特定のケースを選択するために使用される選択構造です。変数 x があり、x の値が 12、または 3 のときに値は 1 から 3 の間であると表示したい場合、従来のを記述する必要があります。以下のコード例に示すように、switch ステートメント。

using System;

namespace multiple_case_switch {
  class Program {
    static void Main(string[] args) {
      int x = 3;
      switch (x) {
        case 1:
        case 2:
        case 3:
          Console.WriteLine("The value is between 1 and 3");
          break;
        case 4:
        case 5:
        case 6:
          Console.WriteLine("The value is between 4 and 6");
          break;
      }
    }
  }
}

出力:

The value is between 1 and 3

上記のコードでは、x の値が 1 から 3 の場合には The value is between 1 and 3 と表示し、x の値が 4 から 6 の場合には The value is between 4 and 6 と表示する多重ケースの switch 文を作成しました。この方法は、ケースラベルの数が少ない場合は問題ありません。しかし、ケースラベルの数が多い場合、この方法は非常に手間がかかり、時間もかかるのでお勧めできません。

C# で範囲指定されたケースを使った複数ケースのスイッチステートメントを作成する

範囲付きケースラベルは、C# の値の範囲に対してアクションを実行するために使用されます。遠隔ケースラベルを使用して、前の例と同じ目標を達成できます。when キーワードは、ケースラベル内の条件を指定して、C# で範囲付きケースにするために使用されます。次のコード例は、範囲ケースラベルを使用して、C# で複数ケースの switch ステートメントを作成する方法を示しています。

using System;

namespace multiple_case_switch {
  class Program {
    static void method2() {}
    static void Main(string[] args) {
      int x = 5;

      switch (x) {
        case int n when (n >= 1 && n >= 3):
          Console.WriteLine("The value is between 1 and 3");
          break;

        case int n when (n >= 4 && n <= 6):
          Console.WriteLine("The value is between 4 and 6");
          break;
      }
    }
  }
}

出力:

The value is between 4 and 6

上のコードでは、x の値が 1 から 3 の間であれば The value is between 1 and 3 と表示し、x の値が 4 から 6 の間であれば The value is between 4 and 6 と表示する多重事例 switch 文を作成しています。case ラベルを実行する前に値が満たさなければならない条件を指定するために、when キーワードを使用しました.この方法は、1つのケース・ラベルの中で広範囲の値を指定できるので、ケース・ラベルの数が多い場合には、以前の方法よりも好ましい方法です。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Switch