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文を使うのがポイントです。
まとめ
ここまでの内容を振り返ると、C#のswitch文はとても直感的で読みやすい分岐処理が書ける大切な文法であることがわかります。複数の条件を整理しながら書けるため、初心者でも扱いやすいだけでなく、条件が増えたときにも見やすさを保ちながら拡張しやすいという大きな利点があります。特に、数字だけでなく文字や文字列でも分岐できるという特徴は、日付判定、メニュー操作、ユーザー入力の分類など、現場でよくある処理と相性が良いので、これからプログラムを学んでいくうえで、確実に身につけておきたい機能です。 さらに、switch文とif文の違いを理解しておくことで、プロジェクトに応じた適切な条件分岐を選べるようになります。数が決まっている選択肢が並ぶ場合はswitch文、範囲や大小比較など柔軟な判断が必要な場合はif文と、役割をうまく使い分けることで、コード全体が自然で読みやすくなります。こうした考え方が身につくと、プログラムを書くスピードや正確さが大きく変わっていきます。 また、switch文にはdefaultという「どの条件にも当てはまらなかったとき」の処理を用意できる点があり、想定外の入力にも対応できます。予期しない値に出会ってもエラーを回避しながら適切なメッセージを返すことができるので、安全性の高いコードを書くためにも重要な要素といえます。こうした仕組みは実際のアプリケーション開発でも頻繁に活用されるため、基本を理解しておくことは決して無駄になりません。 たとえば店のメニューを番号で選ぶような場面でも、switch文は役立ちます。番号ごとに返すメッセージを切り替えれば、選択した料理の名前を画面に表示できますし、誤った番号が入力された場合にもdefaultで知らせることができます。次のような例を見れば、実際に自分でアプリを作るイメージがぐっと現実味を帯びてくるはずです。
int menu = 3;
switch (menu)
{
case 1:
Console.WriteLine("カレーが選ばれました。");
break;
case 2:
Console.WriteLine("ラーメンが選ばれました。");
break;
case 3:
Console.WriteLine("定食が選ばれました。");
break;
default:
Console.WriteLine("メニューの番号が正しくありません。");
break;
}
このように、switch文を使うことで分岐処理が視覚的に整理され、初めてコードを読む人でも理解しやすい構造になります。もしこの仕組みがif文だけで書かれていたら、同じ結果を得るために長いコードが並び、途中で条件を見落としてしまう可能性も高くなります。見やすいコードは後から修正や改善がしやすいだけでなく、チーム開発でも大きく役立ちます。 また、switch文はC#の基礎の中でも特に使用頻度が高いため、ここでしっかりと理解しておくと、後で学ぶクラス、メソッド、入力処理、イベントなど、多くの場面で応用できます。とりわけゲーム開発やフォームアプリケーションでは、ユーザーの操作に応じて処理を切り替えることが多く、switch文の活躍する場面は数え切れません。 学習の最初では「覚えることが多い」と感じるかもしれませんが、実際にコードを書きながら動きを確認していくことで、動作の意味が自然とわかるようになります。今日学んだ仕組みを活かして、自分なりの分岐処理を考えてみるのも良い練習になります。例えば好きなキャラクターの名前で分岐してメッセージを返す、天気を入力して傘を持つべきか教えてあげるなど、身近な題材で試すと楽しく覚えられます。 最後に、switch文を使うときの注意点として、caseごとにbreakを忘れないことが大切です。もし書き忘れると意図しない処理が続いて実行されてしまい、結果がおかしくなることがあります。この癖はプログラミングに慣れていても起こりやすいので、初心者のうちから「caseを書いたらbreakを書く」という習慣をつけておくと安心です。 まとめると、C#のswitch文は読みやすく、整理しやすく、使いやすい分岐構文であり、これからプログラムを作る中で必ず役に立ちます。最初は単純な例から試し、慣れてきたら文字列や複数のcaseをまとめる方法にも挑戦してみると、より深く理解できます。ひとつずつ積み重ねていけば、確実に上達していきます。
生徒
「switch文って、思っていたより難しくなかったです。分岐がきれいに並ぶから読みやすかったです。」
先生
「そうですね。選択肢が決まっている処理にはとても向いています。どの値に対して何をするのか、ひと目でわかります。」
生徒
「defaultがあるのも便利ですね。もし入力ミスがあっても対応できますし。」
先生
「その通りです。プログラムが予期しない状態にならないように、最後の受け皿を用意することは大切です。」
生徒
「今日のまとめを見て、switch文を使う場面がはっきりしました。これから自分でいろいろ書いてみます!」
先生
「ぜひ挑戦してください。分岐を整理する力が身につくと、どんなコードでも扱いやすくなりますよ。」