工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# switch ステートメント

C# の switch ステートメント

この記事では、C# の switch ステートメントと、例を使用してそれらを使用する方法について学習します。

Switch ステートメントを使用して、C# の if...else if ステートメントを置き換えることができます。 switch over if...else if ステートメントを使用する利点は、switch を使用すると、コードがよりきれいになり、読みやすくなることです。

switch ステートメントの構文は次のとおりです。

switch (variable/expression)
{
    case value1:
        // Statements executed if expression(or variable) = value1
        break;
    case value2:
        // Statements executed if expression(or variable) = value1
        break;
    ... ... ... 
    ... ... ... 
    default:
        // Statements executed if no case matches
}

switch ステートメントは expression を評価します (または 変数 )、その値を各ケースの値 (または式) と比較します (value1 , 値2 、…)。一致する値が見つかると、そのケース内のステートメントが実行されます。

ただし、上記のいずれの場合も式に一致しない場合、default 内のステートメントは ブロックが実行されます。 switch の最後のデフォルト ステートメントは、if else ステートメントの else ブロックに似ています。

ただし、switch ステートメントの問題は、一致する値が見つかると、その後のすべてのステートメントを switch ブロックの最後まで実行することです。

これを避けるために、break を使用します。 各ケースの最後にステートメント。 break ステートメントは、switch ステートメントの実行を終了することにより、プログラムが一致しないステートメントを実行するのを停止します。

break ステートメントの詳細については、C# の break ステートメントをご覧ください。 .


例 1:C# の switch ステートメント

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                    Console.WriteLine("Vowel");
                    break;
                case 'e':
                    Console.WriteLine("Vowel");
                    break;
                case 'i':
                    Console.WriteLine("Vowel");
                    break;
                case 'o':
                    Console.WriteLine("Vowel");
                    break;
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

プログラムを実行すると、出力は次のようになります:

Enter an alphabet
X
Not a vowel

この例では、ユーザーはアルファベットを入力するよう求められます。アルファベットは ToLower() を使用して小文字に変換されます 大文字の場合は method.

次に、switch ステートメントは、ユーザーが入力したアルファベットが a, e, i, o or u のいずれかであるかどうかをチェックします。 .

大文字と小文字のいずれかが一致する場合、Vowel それ以外の場合、コントロールはデフォルト ブロックと Not a vowel に移動します 出力として印刷されます。

すべての母音の出力は同じであるため、ケースを次のように結合できます:


例 2:ケースをグループ化した C# switch ステートメント

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char ch;
            Console.WriteLine("Enter an alphabet");
            ch = Convert.ToChar(Console.ReadLine());
 
            switch(Char.ToLower(ch))
            {
                case 'a':
                case 'e':
                case 'i':
                case 'o':
                case 'u':
                    Console.WriteLine("Vowel");
                    break;
                default:
                    Console.WriteLine("Not a vowel");
                    break;
            }
        }
    }
}

両方のプログラムの出力は同じです。上記のプログラムでは、すべての母音が出力 Vowel を出力します。 そして、switch ステートメントから抜け出します。

switch ステートメントは if...else if ステートメントよりもコードをきれいに見せますが、switch は限られたデータ型で動作するように制限されています。 C# の Switch ステートメントは、以下でのみ機能します:


例 3:C# の switch ステートメントを使用した簡単な電卓プログラム

using System;
 
namespace Conditional
{
    class SwitchCase
    {
        public static void Main(string[] args)
        {
            char op;
            double first, second, result;
             
            Console.Write("Enter first number: ");
            first = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter second number: ");
            second = Convert.ToDouble(Console.ReadLine());
            Console.Write("Enter operator (+, -, *, /): ");
            op = (char)Console.Read();
 
            switch(op)
            {
                case '+':
                    result = first + second;
                    Console.WriteLine("{0} + {1} = {2}", first, second, result);
                    break;
                 
                case '-':
                    result = first - second;
                    Console.WriteLine("{0} - {1} = {2}", first, second, result);
                    break;
                 
                case '*':
                    result = first * second;
                    Console.WriteLine("{0} * {1} = {2}", first, second, result);
                    break;
                 
                case '/':
                    result = first / second;
                    Console.WriteLine("{0} / {1} = {2}", first, second, result);
                    break;
 
                default:
                    Console.WriteLine("Invalid Operator");
                    break;
                     
            }
        }
    }
}

プログラムを実行すると、出力は次のようになります:

Enter first number: -13.11
Enter second number: 2.41
Enter operator (+, -, *, /): *
-13.11 * 2.41 = -31.5951

上記のプログラムは、ユーザーからの入力として 2 つのオペランドと演算子を受け取り、演算子に基づいて演算を実行します。

入力は ReadLine() を使用してユーザーから取得されます および Read() 方法。詳細については、C# の基本的な入力と出力をご覧ください。

このプログラムは、意思決定に switch case ステートメントを使用します。または、if-else if ラダーを使用して同じ操作を実行できます。


C言語

  1. スイッチ付き回路
  2. 整流ダイオード
  3. スイッチタイプ
  4. 「バウンス」に連絡する
  5. マルチメータ
  6. C# break ステートメント
  7. C# 継続ステートメント
  8. C++ break ステートメント
  9. Python pass ステートメント
  10. C++ Switch Case ステートメントと EXAMPLE
  11. C - 基本構文