C#のswitchステートメント
テストケースは、switch文は、複数の値に等しい変数を可能にします。 各値はケースと呼ばれ、変数をチェックするために、各スイッチケースを試験します。
文法
C#の構文でステートメントを切り替えます。
スイッチ(式){ ケースの定数式: ステートメント(複数可)。 破ります; ケースの定数式: ステートメント(複数可)。 破ります; / *あなたがcase文の数に制限はありません* / デフォルト:/ *オプション* / ステートメント(複数可)。 破ります; }
switch文は、次の規則に従う必要があります
- switch文の式は、整数型または列挙型、または整数または列挙型に変換するための単一の変換機能を持つクラスクラス型でなければなりません。
- スイッチでは、case文の数に制限はありません。 各ケースは、コロンと比較する値が続いています。
- 定数式の場合は、同じデータ型を持つ変数を切り替え、一定でなければならない必要があります。
- テストされている変数は、case文に続いて、一定時間の場合、に等しい場合、それはbreakステートメントに遭遇するまで、実行されます。
- break文が検出されると、スイッチは、制御フローは、switch文の後に次の行にジャンプし終了します。
- 必ずしもすべての場合には休憩を含める必要があります。 case文が空の場合、それは休憩が含まれない可能性があり、我々はそれがブレークアップに遭遇するまで、後続の例の流れを制御していきます。
- C#は、次のスイッチ部に切替部からの継続が許可されていません。 case文は、文を処理している場合は、追加のブレークまたはジャンプステートメントを含める必要があります。
- switch文は、オプションのデフォルトケースを持つことができ、それがスイッチの末尾に表示されます。デフォルトの場合は、上記の場合の全てにおいて使用することができるタスクを実行するときに真ではありません。 デフォルトのcase文の区切りは必要ありません。
- C#は、ラベル全体で別のケースに1ケースからの明示的なラベルをサポートしていません。 あなたは他のcaseラベルに至るまでのC#明示的なcaseラベルからのサポートが必要な場合は、goto文は、スイッチケースまたはgoto文のデフォルトを使用することができます。
フローチャート
例
システムを用いました。 名前空間の意思決定 { クラスプログラム { 静的な無効メイン(文字列[] args) { / *ローカル変数の定義* / チャーグレード= 'B'; スイッチ(グレード) { 場合 'A': Console.WriteLineを(「非常に良いです! "); 破ります; ケース 'B': 場合 'C': Console.WriteLineを( "よくやりました"); 破ります; ケース 'D': Console.WriteLineを( "あなたは合格"); 破ります; ケース 'F': Console.WriteLineを( "最高のは、再試行してください"); 破ります; デフォルト: Console.WriteLineを( "無効な結果"); 破ります; } Console.WriteLineを( "あなたの成果は、{0}"、グレード); Console.ReadLine(); } } }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
あなたのスコアはよくBであります