C#判定(switch文詳細)

2026 ワード

C#判定(switch文)


一、概念


1つのswitch文では、1つの変数が複数の値に等しい場合をテストできます。


各値はcaseと呼ばれ、テストされた変数はswitch caseごとにチェックされます。


二、文法のケース

using System;

namespace DecisionMaking
{
   
    class Program
    {
        static void Main(string[] args)
        {
            /*   */
            char grade = "B";

            switch (grade)
            {
                case "A":
                    Console.WriteLine(" !");
                    break;
                case "B":
                case "C":
                    Console.WriteLine(" ");
                    break;
                case "D":
                    Console.WriteLine(" ");
                    break;
                case "F":
                    Console.WriteLine(" ");
                    break;
                default:
                    Console.WriteLine(" ");
                    break;
            }
            Console.WriteLine("  {0}", grade);
            Console.ReadLine();
        }
    }
}

上記の例に従って実行すると、最終的な結果は

 
  B

三、switch文は以下の規則に従わなければならない。


1、switch文のexpressionは、整数または列挙タイプ、またはclassタイプである必要があります.classには、単一の変換関数が整数または列挙タイプに変換されます.
2,1つのswitchに任意の数のcase文を持つことができる.各caseの後に比較する値とコロンがあります.
3,caseのconstant-expressionはswitchの変数と同じデータ型であり、定数である必要があります.
4,テストされた変数がcaseの定数に等しい場合,break文に遭遇するまでcaseの後に続く文が実行される.
5 break文に遭遇すると、switchが終了し、制御フローはswitch文の次の行にジャンプします.
6,各caseにbreakを含める必要はありません.case文が空の場合、breakを含まないことができ、breakに遭遇するまで制御フローは後続のcaseを継続します.
7,C#は、1つのスイッチ部から次のスイッチ部に進むことを許さない.case文に処理文がある場合は、breakまたは他のジャンプ文を含める必要があります.
8.switch文には、switchの最後に表示されるオプションのdefault caseがあります.default caseは、上のすべてのcaseが真でない場合にタスクを実行するために使用できます.default caseのbreak文は必須ではありません.
9,C#は、1つのcaseタグから別のcaseタグに明示的に貫通することをサポートしません.C#サポートを1つのcaseタグから別のcaseタグに明示的に貫通させる場合は、goto 1つのswitch-caseまたはgoto defaultを使用します.