C#のString.ToLowerInvariantメソッドの使い方を徹底解説
C#のString.ToLowerInvariant()メソッドは、インバリアントカルチャ(カルチャに依存しない固定の設定)における大文字・小文字の変換規則に基づいて、文字列をすべて小文字に変換した新しい文字列を返すメソッドです。
通常のToLower()メソッドは実行環境のカルチャ設定に影響される場合がありますが、ToLowerInvariant()は常に一定の規則で変換されるため、カルチャによる予期しない挙動を避けたい場面(例:識別子やキーの比較など)で特に有用です。
構文
このメソッドの構文は以下のとおりです。
public string ToLowerInvariant ();
引数は取らず、戻り値として小文字に変換された新しい文字列(string型)を返します。元の文字列自体は変更されません。
使用例1
まず、基本的な使用例を見てみましょう。
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
string str1 = "Pink Floyd";
string str2 = "Ariana";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String1 ToLowerInvariant = "+str1.ToLowerInvariant());
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String2 ToLowerInvariant = "+str2.ToLowerInvariant());
Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
}
}出力結果
このプログラムを実行すると、以下のような結果が表示されます。
String 1 = Pink Floyd String1 ToLowerInvariant = pink floyd String 2 = Ariana String2 ToLowerInvariant = ariana String 1 is equal to String 2: False
「Pink Floyd」は「pink floyd」に、「Ariana」は「ariana」にそれぞれ変換されていることが確認できます。また、元の2つの文字列は異なるため、Equalsメソッドの比較結果はFalseとなっています。
使用例2
続いて、別の例を見てみましょう。
using System;
using System.Text;
public class Demo {
public static void Main(String[] args) {
string str1 = "one";
string str2 = "TWO";
string str3 = "ThrEE";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String1 ToLowerInvariant = "+str1.ToLowerInvariant());
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String2 ToLowerInvariant = "+str2.ToLowerInvariant());
Console.WriteLine("String 3 = "+str3);
Console.WriteLine("String3 ToLowerInvariant = "+str3.ToLowerInvariant());
}
}出力結果
このプログラムを実行すると、次の出力が得られます。
String 1 = one String1 ToLowerInvariant = one String 2 = TWO String2 ToLowerInvariant = two String 3 = ThrEE String3 ToLowerInvariant = three
このように、入力文字列がすでに小文字の場合はそのままの値が返され、大文字や大文字小文字が混在している場合はすべて小文字へ統一されます。
まとめ
ToLowerInvariant()メソッドを使うことで、カルチャ設定に左右されずに安定した小文字変換を行うことができます。国際化対応アプリケーションや、文字列の一貫した比較・正規化が必要な処理では、積極的に活用するとよいでしょう。
-
C#のSingleOrDefault()メソッドの使い方をわかりやすく解説
SingleOrDefault()メソッドとはC#のLINQに含まれるSingleOrDefault()メソッドは、シーケンスから単一の特定要素を返すメソッドです。大きな特徴は、要素がシーケンス内に存在しない場合でも例外をスローせず、その型のデフォルト値を返すという点にあります。たとえば参照型の場合は null、数値型の場合は 0 といったデフォルト値が返されるため、空のコレクションを安全に扱いたい場面で非常に便利です。Single()メソッドとの違い似た名前の Single() メソッドは、要素が存在しない場合や複数の要素が見つかった場合に例外(InvalidOperationExcepti
-
【C#】String.Join()メソッドで文字列配列を連結する方法
String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、