制御構文

[C#] 制御構文 複数条件分岐(switch)

複数条件分岐

値によって処理を分岐する

複数条件での分岐にはswitchを使用します。
if ~ elseif ~ elseでも可能なのですが、可読性などの面から、条件が3つ以上に分岐した場合はswitchが使用されることが多いです。

switch (変数)
{
  case: 値1
    値1の場合に行う処理;
    break;
  case: 値2
    値2の場合に行う処理;
    break;
  case: 値3
    値3の場合に行う処理;
    break;

  // 必要な分岐分caseラベルを記述

  default:
    いずれのケースにも該当しなかった場合の処理;
    break;
}

caseラベルごとにbreakを入れるのを忘れないようにしましょう。
これは「条件に該当したのでswitch文を抜ける」という意味になります。

それではサンプルを見てみましょう。
Console.WriteLineを使って、switchの動作をコンソールに出力します。

上記を実行した結果がこちらです。

実行結果

aの値は2です
bの値は3です
cの値は不明です

実行結果がコンソールに出力されました。
指定した変数の値に応じて、該当したケースの処理が実行されているのがわかります。

以下のように記述することで、OR条件も実現することが可能です。

switch (変数)
{
  case: 値1
  case: 値2
    値1または値2の場合に行う処理;
    break;
  default:
    いずれのケースにも該当しなかった場合の処理;
    break;
}

 
以上が、複数条件の分岐を行う「switch」の使い方です。
使用頻度が高いので、ぜひ参考にしてみてください。