C#の制御文 - 条件分岐(switch文)

プログラムでは特定の条件に合う場合のみ処理を行いたいといったケースがあります。
このような場合には、キーワード(予約語)である switchcasedefault を使う事で条件によって処理を分岐させる事ができます。



switch文

条件分岐を行う switch 文は以下のように記述します。
switch (条件)
{
    case 1:
        //このは条件が値1に合う場合だけ実行されます
        break;

    case 2:
        //このは条件が値2に合う場合だけ実行されます
        break;

    default:
        //このは条件がどのcaseにも合わなかった場合に実行されます
        break;
}
キーワード switch に続いてカッコで囲まれた条件が書かれます。
switch ブロックの中にはキーワード case を複数使用する事が出来ます。
条件が case の後に書かれた値と一致する場合のみ、その case から breakまでの処理が実行されます。
キーワード default を使う事で、どの case にも当てはまらない場合のみ処理する事も可能です。

  1. class Program
  2. {
  3. static void Main()
  4. {
  5. int x = 100;
  6. int y = x % 5;
  7. switch (y)
  8. {
  9. case 0:
  10. Console.WriteLine("余りは0です");
  11. break;
  12.  
  13. case 1:
  14. Console.WriteLine("余りは1です");
  15. break;
  16.  
  17. case 2:
  18. case 3:
  19. Console.WriteLine("余りは2か3です");
  20. break;
  21. default:
  22. Console.WriteLine("余りは0~3ではありません");
  23. break;
  24. }
  25. }
  26. }
基本的には、1つの case や default に対して必ず最後に break (もしくはreturn)を記述する必要があります。
但し例外として、17~18行目のように続けて case を書いた場合のみ、続けて書いたいずれかの case に合致する場合に処理されます。



その他の条件分岐

条件分岐は if文の他に switch文があります。
if文は、主に二者択一の条件分岐で使われます。
switch文は、複数のケースへ分岐する時に便利な構文になっています。



コメント