C#の大文字・小文字変換(ToUpper・ToLowerなど)を使いこなそう
生徒
「先生、C#で英単語の大文字や小文字を変えたいんですけど、どうすればいいんですか?」
先生
「とても良い質問ですね。C#では、ToUpperやToLowerというメソッドを使うことで簡単に大文字・小文字の変換ができますよ。」
生徒
「メソッドっていうのは、何かを実行する命令のことでしたよね?」
先生
「その通りです!では、実際にどのように使うのか、サンプルコードで見ていきましょう。」
1. 文字列を大文字に変換する(ToUpper)
ToUpperメソッドは、文字列に含まれるすべてのアルファベットを大文字(A、B、C...)に変換します。たとえば、ユーザーが入力した文字を統一したいときなどに便利です。
次の例を見てみましょう。
string text = "hello world";
string upperText = text.ToUpper();
Console.WriteLine(upperText);
上のコードを実行すると、次のように出力されます。
HELLO WORLD
このように、すべての文字が大文字に変わります。C#の文字列メソッドは非常に使いやすく、英語の文章を整える処理などでもよく使われます。
2. 文字列を小文字に変換する(ToLower)
ToLowerメソッドは、文字列を小文字(a、b、c...)に変換します。例えば、入力内容を比較する際に、大小文字の違いを無視したい場合などに役立ちます。
string text = "CSharp Programming";
string lowerText = text.ToLower();
Console.WriteLine(lowerText);
csharp programming
上記のように、"CSharp Programming"が"csharp programming"へとすべて小文字に変わります。これで文字の大小を気にせず扱えるようになります。
3. 大文字・小文字を比較せずに文字列を判定する
例えば、ユーザーが入力した文字列が「Yes」でも「YES」でも「yes」でも、同じ意味として扱いたい場合があります。そのようなときは、ToLower()またはToUpper()を使ってから比較するのが簡単です。
string input = "YES";
if (input.ToLower() == "yes")
{
Console.WriteLine("はい、正解です。");
}
はい、正解です。
このように、すべての文字を小文字に変換してから比較すれば、「YES」「Yes」「yes」など、どんな表記でも同じ結果になります。
4. ToUpperとToLowerの使い分け方
基本的に、どちらを使うかは目的によって変わります。たとえば:
- ToUpper:見出しやタイトルなど、目立たせたい文字列を作るときに便利
- ToLower:検索や比較をするときなど、統一して扱いたいときに便利
また、メールアドレスのように大文字と小文字を区別しない情報を扱う場合にも、小文字に統一するのが一般的です。
string email = "Example@Domain.COM";
string normalizedEmail = email.ToLower();
Console.WriteLine(normalizedEmail);
example@domain.com
このようにしておくと、プログラム内での比較や保存時にミスを減らすことができます。
5. Culture(カルチャ)による違いに注意しよう
実は、C#のToUpperやToLowerは、言語(カルチャ)によって変換結果が少し異なる場合があります。カルチャとは、国や地域による文字の扱い方の違いのことです。
例えば、トルコ語では英語とは異なる大文字・小文字のルールがあります。そのため、特定の地域設定で動作させる場合は、カルチャを指定する方法もあります。
string text = "i";
string result = text.ToUpper(new System.Globalization.CultureInfo("tr-TR"));
Console.WriteLine(result);
İ
このように、英語では「I」になりますが、トルコ語では「İ」(上に点がついたI)になります。国際対応するプログラムを作る場合は、この点に注意しましょう。
6. 文字列の一部だけを大文字・小文字にしたいとき
文字列全体ではなく、部分的に変えたい場合は、文字列を分割して結合する方法があります。
string text = "hello world";
string result = text.Substring(0, 1).ToUpper() + text.Substring(1);
Console.WriteLine(result);
Hello world
このように、最初の1文字だけを大文字にすることも簡単です。見出しやタイトルのフォーマットでよく使われるテクニックです。
7. まとめ:ToUpper・ToLowerを使いこなして文字列を整えよう
この記事では、C#で文字列の大文字・小文字を変換する方法を学びました。ToUpperとToLowerを理解すれば、文字列を統一したり比較しやすくしたりすることができます。
特に、ユーザー入力や検索機能などでは、文字の大小を気にせず正しく動作させるために欠かせないテクニックです。これらのメソッドを覚えておくと、文字列処理の幅がぐっと広がります。