カテゴリ: C# 更新日: 2025/11/17

C#の大文字・小文字変換(ToUpper・ToLowerなど)を使いこなそう

C#の大文字・小文字変換(ToUpper・ToLowerなど)を使いこなそう
C#の大文字・小文字変換(ToUpper・ToLowerなど)を使いこなそう

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

生徒

「先生、C#で英単語の大文字や小文字を変えたいんですけど、どうすればいいんですか?」

先生

「とても良い質問ですね。C#では、ToUpperToLowerというメソッドを使うことで簡単に大文字・小文字の変換ができますよ。」

生徒

「メソッドっていうのは、何かを実行する命令のことでしたよね?」

先生

「その通りです!では、実際にどのように使うのか、サンプルコードで見ていきましょう。」

1. 文字列を大文字に変換する(ToUpper)

1. 文字列を大文字に変換する(ToUpper)
1. 文字列を大文字に変換する(ToUpper)

ToUpperメソッドは、文字列に含まれるすべてのアルファベットを大文字(A、B、C...)に変換します。たとえば、ユーザーが入力した文字を統一したいときなどに便利です。

次の例を見てみましょう。


string text = "hello world";
string upperText = text.ToUpper();
Console.WriteLine(upperText);

上のコードを実行すると、次のように出力されます。


HELLO WORLD

このように、すべての文字が大文字に変わります。C#の文字列メソッドは非常に使いやすく、英語の文章を整える処理などでもよく使われます。

2. 文字列を小文字に変換する(ToLower)

2. 文字列を小文字に変換する(ToLower)
2. 文字列を小文字に変換する(ToLower)

ToLowerメソッドは、文字列を小文字(a、b、c...)に変換します。例えば、入力内容を比較する際に、大小文字の違いを無視したい場合などに役立ちます。


string text = "CSharp Programming";
string lowerText = text.ToLower();
Console.WriteLine(lowerText);

csharp programming

上記のように、"CSharp Programming""csharp programming"へとすべて小文字に変わります。これで文字の大小を気にせず扱えるようになります。

3. 大文字・小文字を比較せずに文字列を判定する

3. 大文字・小文字を比較せずに文字列を判定する
3. 大文字・小文字を比較せずに文字列を判定する

例えば、ユーザーが入力した文字列が「Yes」でも「YES」でも「yes」でも、同じ意味として扱いたい場合があります。そのようなときは、ToLower()またはToUpper()を使ってから比較するのが簡単です。


string input = "YES";
if (input.ToLower() == "yes")
{
    Console.WriteLine("はい、正解です。");
}

はい、正解です。

このように、すべての文字を小文字に変換してから比較すれば、「YES」「Yes」「yes」など、どんな表記でも同じ結果になります。

4. ToUpperとToLowerの使い分け方

4. ToUpperとToLowerの使い分け方
4. ToUpperとToLowerの使い分け方

基本的に、どちらを使うかは目的によって変わります。たとえば:

  • ToUpper:見出しやタイトルなど、目立たせたい文字列を作るときに便利
  • ToLower:検索や比較をするときなど、統一して扱いたいときに便利

また、メールアドレスのように大文字と小文字を区別しない情報を扱う場合にも、小文字に統一するのが一般的です。


string email = "Example@Domain.COM";
string normalizedEmail = email.ToLower();
Console.WriteLine(normalizedEmail);

example@domain.com

このようにしておくと、プログラム内での比較や保存時にミスを減らすことができます。

5. Culture(カルチャ)による違いに注意しよう

5. Culture(カルチャ)による違いに注意しよう
5. Culture(カルチャ)による違いに注意しよう

実は、C#のToUpperToLowerは、言語(カルチャ)によって変換結果が少し異なる場合があります。カルチャとは、国や地域による文字の扱い方の違いのことです。

例えば、トルコ語では英語とは異なる大文字・小文字のルールがあります。そのため、特定の地域設定で動作させる場合は、カルチャを指定する方法もあります。


string text = "i";
string result = text.ToUpper(new System.Globalization.CultureInfo("tr-TR"));
Console.WriteLine(result);

İ

このように、英語では「I」になりますが、トルコ語では「İ」(上に点がついたI)になります。国際対応するプログラムを作る場合は、この点に注意しましょう。

6. 文字列の一部だけを大文字・小文字にしたいとき

6. 文字列の一部だけを大文字・小文字にしたいとき
6. 文字列の一部だけを大文字・小文字にしたいとき

文字列全体ではなく、部分的に変えたい場合は、文字列を分割して結合する方法があります。


string text = "hello world";
string result = text.Substring(0, 1).ToUpper() + text.Substring(1);
Console.WriteLine(result);

Hello world

このように、最初の1文字だけを大文字にすることも簡単です。見出しやタイトルのフォーマットでよく使われるテクニックです。

7. ToUpper・ToLowerを使いこなして文字列を整えよう

7. ToUpper・ToLowerを使いこなして文字列を整えよう
7. ToUpper・ToLowerを使いこなして文字列を整えよう

この記事では、C#で文字列の大文字・小文字を変換する方法を学びました。ToUpperToLowerを理解すれば、文字列を統一したり比較しやすくしたりすることができます。

特に、ユーザー入力や検索機能などでは、文字の大小を気にせず正しく動作させるために欠かせないテクニックです。これらのメソッドを覚えておくと、文字列処理の幅がぐっと広がります。

まとめ

まとめ
まとめ

C#における文字列の大文字・小文字変換は、日常的なプログラム開発で非常に役立つ基本スキルです。ToUpperToLowerを使えば、ユーザー入力のばらつきを吸収したり、見た目を整えたり、文字列の比較精度を高めたりと、さまざまな処理に応用できます。

たとえば、ログインフォームでメールアドレスの大文字・小文字の違いを無視する処理、チャットアプリで最初の文字だけを大文字にするメッセージ整形、あるいはタイトル表示で統一感を持たせるための整形などがその一例です。

また、国際化対応を行うアプリケーションでは、カルチャ(地域設定)による文字変換の違いにも注意を払う必要があります。特にトルコ語などの特殊な言語においては、同じToUpperでも結果が異なる場合があるため、CultureInfoを指定する書き方も覚えておくとよいでしょう。

次の例では、ユーザーが入力したニックネームの最初の文字だけを大文字に整え、それ以降を小文字にする処理を行います。

先頭だけ大文字、残りを小文字に整える実用例


using System;

class Program
{
    static void Main()
    {
        string inputName = "tAKESHi";

        if (!string.IsNullOrEmpty(inputName))
        {
            string formatted = inputName.Substring(0, 1).ToUpper()
                              + inputName.Substring(1).ToLower();

            Console.WriteLine("整形後の名前:" + formatted);
        }
    }
}

整形後の名前:Takeshi

このように、入力がバラバラでも統一感のある出力に変換できます。これはユーザープロフィール表示や通知メッセージなどで非常によく使われるテクニックです。

さらに、文字列の一部のみ変換したい場合にはSubstringToUpper/ToLowerを組み合わせることが多く、正確な位置の指定や文字数の調整が重要になります。

実務でも、名前・メール・IDなど、ほぼすべてのテキスト入力に対して整形処理は必須です。大小文字の混在による不具合を未然に防ぐためにも、今回紹介した知識はしっかり身につけておくと安心です。

先生と生徒の振り返り会話

生徒

「先生、ToUpperToLowerって、ただ見た目を変えるだけかと思ってたけど、検索とか比較にも関係するんですね!」

先生

「その通りです。例えば"Yes"と"YES"を同じ意味で扱いたい場合など、大小文字を無視するには変換がとても有効なんですよ。」

生徒

「メールアドレスを保存するときも、小文字に統一しておくとトラブルが減りそうですね!」

先生

「そのとおり。システムの動作を安定させるためにも、文字列の統一は基本中の基本です。ユーザー体験の向上にもつながりますよ。」

生徒

「あと、カルチャによって変換結果が違うっていうのは、ちょっと意外でした…トルコ語だと"i"の大文字が"I"じゃなくて"İ"になるなんて…!」

先生

「プログラムをグローバルに展開するなら、そのあたりの細かな動作も把握しておくと安心ですね。とても良い気づきです!」

生徒

「はい!これから文字列を扱うときは、大小文字の変換も意識してコーディングしていきます!」

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