C#のswitch文の使い方!初心者でもわかる複数条件の分岐処理
生徒
「C#で複数の条件によって処理を分けたいとき、どうすればいいですか?」
先生
「そのときには、switch文
を使うと便利です。特に、条件がたくさんあるときにはif文
より見やすく書けますよ。」
生徒
「switch文ってどうやって使うんですか?」
先生
「それでは、C#のswitch
文の基本的な使い方を一緒に学んでいきましょう!」
1. switch文とは?
C#のswitch文
は、ある変数の値に応じて実行する処理を分けたいときに使います。if文
でも同じことができますが、条件が多いとコードが長くなって見づらくなります。
switch文
を使えば、複数の選択肢がある場合でも整理されたコードを書くことができるので、読みやすくてミスも減らせます。
2. switch文の基本的な書き方
switch文の基本構文は以下のようになります。選択されるcase
ごとに処理を分岐させて、break
文でそれぞれの処理を終了させます。
int number = 2;
switch (number)
{
case 1:
Console.WriteLine("1が選ばれました。");
break;
case 2:
Console.WriteLine("2が選ばれました。");
break;
case 3:
Console.WriteLine("3が選ばれました。");
break;
default:
Console.WriteLine("1〜3以外の数字です。");
break;
}
実行結果:
2が選ばれました。
この例では、変数number
が2なので、「2が選ばれました。」と表示されます。
3. break文とは?
break
は、「このcase
の処理はここで終わりです」と示す命令です。もしbreak
を書かなければ、その下のcase
も続けて実行されてしまうので注意が必要です。
この現象を「フォールスルー(fall-through)」と呼びます。C#では、case
の中でbreak
か他の終了文を書かないとエラーになります。
4. defaultとは?
default
は、どのcase
にも当てはまらないときに実行される部分です。else文
のような役割ですね。
必ずしも書く必要はありませんが、予期しない値への対応やエラー処理をしたい場合に書くのがおすすめです。
5. 文字や文字列でもswitch文を使える
switch文
はint
のような数字だけでなく、char
(1文字)やstring
(文字列)でも使えます。
string fruit = "りんご";
switch (fruit)
{
case "りんご":
Console.WriteLine("赤い果物ですね。");
break;
case "みかん":
Console.WriteLine("オレンジ色の果物ですね。");
break;
default:
Console.WriteLine("知らない果物です。");
break;
}
実行結果:
赤い果物ですね。
6. 複数のcaseをまとめて処理する方法
同じ処理を複数のcase
にまとめたいときは、case
を連続して書くことで対応できます。
int day = 6;
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
Console.WriteLine("平日です。");
break;
case 6:
case 7:
Console.WriteLine("週末です。");
break;
default:
Console.WriteLine("1〜7の範囲で指定してください。");
break;
}
実行結果:
週末です。
このように、同じ結果を出したい場合に便利な書き方です。
7. switch文を使うときの注意点
- 各
case
の最後にはbreak
を忘れずに書きましょう。 switch
に指定できるのは、int
、char
、string
などの基本的な値です。- 比較対象は完全一致になります(例:「りんご」≠「リンゴ」)。
8. if文との違いを知っておこう
if文
は範囲や不等号(たとえば「10より大きい」)など柔軟な条件に対応できますが、switch文
は値の一致だけが対象です。
条件が複雑なときはif文
、選択肢が明確なときはswitch文
を使うのがポイントです。