カテゴリ: C# 更新日: 2026/01/09

C#のswitch文の使い方!初心者でもわかる複数条件の分岐処理

C#のswitch文の使い方!複数条件の分岐処理を理解しよう
C#のswitch文の使い方!複数条件の分岐処理を理解しよう

先生と生徒の会話形式で理解しよう

生徒

「C#で複数の条件によって処理を分けたいとき、どうすればいいですか?」

先生

「そのときには、switch文を使うと便利です。特に、条件がたくさんあるときにはif文より見やすく書けますよ。」

生徒

「switch文ってどうやって使うんですか?」

先生

「それでは、C#のswitch文の基本的な使い方を一緒に学んでいきましょう!」

1. switch文とは?

1. switch文とは?
1. switch文とは?

C#のswitch文は、ある変数の値に応じて実行する処理を分けたいときに使います。if文でも同じことができますが、条件が多いとコードが長くなって見づらくなります。

switch文を使えば、複数の選択肢がある場合でも整理されたコードを書くことができるので、読みやすくてミスも減らせます。

2. switch文の基本的な書き方

2. 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文とは?

3. break文とは?
3. break文とは?

breakは、「このcaseの処理はここで終わりです」と示す命令です。もしbreakを書かなければ、その下のcaseも続けて実行されてしまうので注意が必要です。

この現象を「フォールスルー(fall-through)」と呼びます。C#では、caseの中でbreakか他の終了文を書かないとエラーになります。

4. defaultとは?

4. defaultとは?
4. defaultとは?

defaultは、どのcaseにも当てはまらないときに実行される部分です。else文のような役割ですね。

必ずしも書く必要はありませんが、予期しない値への対応やエラー処理をしたい場合に書くのがおすすめです。

5. 文字や文字列でもswitch文を使える

5. 文字や文字列でもswitch文を使える
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をまとめて処理する方法

6. 複数のcaseをまとめて処理する方法
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文を使うときの注意点

7. switch文を使うときの注意点
7. switch文を使うときの注意点
  • caseの最後にはbreakを忘れずに書きましょう。
  • switchに指定できるのは、intcharstringなどの基本的な値です。
  • 比較対象は完全一致になります(例:「りんご」≠「リンゴ」)。

8. if文との違いを知っておこう

8. if文との違いを知っておこう
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文を使う場面がはっきりしました。これから自分でいろいろ書いてみます!」

先生

「ぜひ挑戦してください。分岐を整理する力が身につくと、どんなコードでも扱いやすくなりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

C#のswitch文とは何ですか?初心者でも簡単に理解できますか?

C#のswitch文とは、ある変数の値に応じて処理を分岐させるための構文で、複数の条件分岐を整理して書くのに便利です。初心者でも基本構文を覚えればすぐに使えます。
カテゴリの一覧へ
新着記事
New1
C#
C#のLINQでAny・Allなど条件確認メソッドの使い方を完全ガイド!初心者でもわかるデータ検証
New2
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New3
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New4
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
人気記事
No.1
Java&Spring記事人気No1
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.2
Java&Spring記事人気No2
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.5
Java&Spring記事人気No5
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法