この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!
C# で文字列を扱うswitch文:簡単な実用例
はじめに
switch文はC#の基本的な制御構造の一つで、特に複数の条件から選択する際に非常に便利です。
この記事では、特に「文字列を扱うswitch文」について深掘りしていきます。

switch文の基本形
まずはswitch文の基本形を確認しましょう。
switch文は、以下のように使用します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string condition = "A"; switch (condition) { case "A": Console.WriteLine("condition is A"); break; case "B": Console.WriteLine("condition is B"); break; default: Console.WriteLine("condition is neither A nor B"); break; } |
このコードでは、条件を示す文字列(ここでは "A")を評価し、その結果に応じて処理を分岐しています。

出力結果
上記のコードを実行すると、次のような出力結果が得られます。
出力結果
condition is A

文字列の比較
C#のswitch文では、文字列の比較は大文字小文字を区別します。
つまり、"A"と"a"は別の文字列として扱われます。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 |
string condition = "a";switch (condition) { case "A": Console.WriteLine("condition is A"); break; case "a": Console.WriteLine("condition is a"); break; default: Console.WriteLine("condition is neither A nor a"); break; } |
こちらのコードを実行すると、
出力結果
condition is a
と表示されます。

大文字小文字を区別しない比較
しかし、大文字小文字を区別しない比較をしたい場合もあるでしょう。
その場合には、条件式を "ToLower()" や "ToUpper()" を使って一律に大文字または小文字に変換してから比較します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 |
string condition = "A"; switch (condition.ToLower()) { case "a": Console.WriteLine("condition is a"); break; default: Console.WriteLine("condition is not a"); break; } |
このコードを実行すると、
出力結果
condition is a
と表示されます。

文字列の部分一致によるswitch文の使用
さて、文字列の部分一致を条件としたい場合はどうすればよいでしょうか?
C#のswitch文は直接的な部分一致の検証はサポートしていませんが、正規表現を用いることで実現できます。
ソースコード例
1 2 3 4 5 6 7 8 9 10 |
string condition = "Hello, world!"; switch (condition) { case var test when new Regex(@"Hello").IsMatch(test): Console.WriteLine("condition contains 'Hello'"); break; default: Console.WriteLine("condition does not contain 'Hello'"); break; } |
このコードを実行すると、
出力結果
condition contains 'Hello'
と表示されます。

switch文の限界
switch文は非常に便利な制御構造ですが、一方で柔軟性には限界があります。
特に、条件式が複雑になってくると、if文の方が柔軟に対応できることがあります。
ソースコード例
1 2 3 4 5 6 7 8 9 |
string condition = "Hello, world!"; if (condition.Contains("Hello")) { Console.WriteLine("condition contains 'Hello'"); } else { Console.WriteLine("condition does not contain 'Hello'"); } |
このコードを実行すると、
出力結果
condition contains 'Hello'
と表示されます。

まとめ
C#のswitch文は、特に複数の条件から選択する際に非常に便利な構文です。
この記事では、文字列を条件としたswitch文の基本的な使い方を紹介しました。
さらに、大文字小文字の区別、部分一致による条件指定、そしてif文との使い分けについても触れてきました。
この記事が、あなたのプログラミングスキル向上に役立つことを願っています。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!
私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。
今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!
C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
C#でChatGPTAPIを使ってブログ作成を自動化しませんか?
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。