C#判定(switch文詳細)
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を使用します.
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