C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のChar.ToUpperInvariant(Char)メソッドとは?構文とサンプルコードを解説


C# の Char.ToUpperInvariant() メソッドは、インバリアントカルチャ(カルチャに依存しない固定の規則)の大文字・小文字の規則に基づいて、Unicode 文字の値を対応する大文字に変換するためのメソッドです。

このメソッドは静的(static)メソッドであり、実行環境のカルチャ設定に影響されない点が大きな特徴です。そのため、どの地域や言語設定の環境で実行しても常に同じ結果が得られます。トルコ語のように大文字化の挙動がカルチャによって変わる文字(例:i → I / İ)を扱う場合でも、安定した動作が求められる場面で特に有用です。

構文

public static char ToUpperInvariant (char ch);

上記の構文におけるパラメータ ch は、大文字に変換したい Unicode 文字です。戻り値として、ch を大文字に変換した結果の文字が返されます。なお、ch がすでに大文字である場合や大文字の形を持たない文字の場合は、元の ch がそのまま返されます。

使用例1

それでは、Char.ToUpperInvariant() メソッドを使ったサンプルコードを見てみましょう。

using System;
public class Demo {
   public static void Main(){
      char ch = 'q';
      char res = Char.ToUpperInvariant(ch);
      Console.WriteLine("Value = "+ch);
      Console.WriteLine("Uppercase Equivalent = "+res);
   }
}

出力結果

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

Value = q
Uppercase Equivalent = Q

小文字の「q」が、対応する大文字の「Q」に変換されていることが確認できます。

使用例2

続いて、別のサンプルコードを見てみましょう。

using System;
public class Demo {
   public static void Main(){
      char ch = 'r';
      char res = Char.ToUpperInvariant(ch);
      Console.WriteLine("Value = "+ch);
      Console.WriteLine("Uppercase Equivalent = "+res);
   }
}

出力結果

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

Value = r
Uppercase Equivalent = R

このように、Char.ToUpperInvariant() メソッドを使えば、カルチャ環境に左右されることなく、常に一貫した方法で文字を大文字に変換できます。ユーザー入力の正規化や文字列比較の前処理など、カルチャに依存しない安定した処理が必要な場面でぜひ活用してください。

  1. 【C#入門】Char.IsControl(String, Int32)メソッドの使い方を解説

    C#のChar.IsControl(String, Int32)メソッドは、指定した文字列の中から指定された位置にある文字が「制御文字」に分類されるかどうかを判定するためのメソッドです。制御文字とは、画面上には表示されず、改行やタブなどの特殊な動作を表す文字のことを指します。構文public static bool IsControl (string str, int index);各パラメータの意味は以下の通りです。str: 判定対象となる文字列index: str 内で評価する文字の位置(インデックス)戻り値はbool型で、指定位置の文字が制御文字であれば true、そうでなければ fal

  2. C#のConvert.ToUInt64メソッドで値を64ビット符号なし整数に変換する方法

    C#では、Convert.ToUInt64()メソッドを使うことで、指定した値を64ビット符号なし整数(ulong型)に変換できます。このメソッドは、文字や数値などさまざまな型の値を受け取り、0~18,446,744,073,709,551,615の範囲内の符号なし整数として返します。変換の基本まず、char型の値を用意します。以下は文字「a」を格納した変数の例です。char ch = a;この値をConvert.ToUInt64()メソッドで64ビット符号なし整数に変換してみましょう。ulong res; res = Convert.ToUInt64(ch);char型の「a」はUnicod