文字列の小文字化はプログラミングでよく使われる基本操作です。この記事では、C#での効率的な文字列小文字化の実装方法を紹介します。
public string ConvertToLowerCase(string input)
{
if (string.IsNullOrEmpty(input))
{
return input;
}
return input.ToLower();
}
使用例:
string result = ConvertToLowerCase("Hello WORLD!"); // "hello world!"
public string ConvertToLowerCaseInvariant(string input)
{
if (string.IsNullOrEmpty(input))
{
return input;
}
return input.ToLowerInvariant();
}
using System.Globalization;
public string ConvertToLowerCaseWithCulture(string input, CultureInfo culture)
{
if (string.IsNullOrEmpty(input))
{
return input;
}
return input.ToLower(culture);
}
// 使用例
string result = ConvertToLowerCaseWithCulture("EXAMPLE", CultureInfo.GetCultureInfo("tr-TR"));
public static class StringExtensions
{
public static string ToLowerSafe(this string input)
{
return string.IsNullOrEmpty(input) ? input : input.ToLowerInvariant();
}
}
// 使用例
string result = "HELLO".ToLowerSafe(); // "hello"
string nullResult = null.ToLowerSafe(); // null
ToLowerInvariant()
を使用するnull
チェックを含める一部の言語では、大文字小文字変換に特殊ルールがあります:
// 英語での変換: "I" -> "i"
string englishResult = "I".ToLowerInvariant(); // "i"
// トルコ語での変換: "I" -> "ı" (ドットなしのi)
string turkishResult = "I".ToLower(CultureInfo.GetCultureInfo("tr-TR")); // "ı"
C#での文字列小文字化はToLowerInvariant()
メソッドを使用するのが一般的です。国際化対応が必要な場合は適切なカルチャ情報を指定し、常にnull
チェックを行うことが重要です。
.NET 6.0 以上および C# 10.0 以上を基準としています。