Giới thiệu
Phương thức ToLowerInvariant() chuyển chuỗi thành chữ thường sử dụng quy tắc của invariant culture (văn hóa bất biến). Đảm bảo hành vi nhất quán cross-platform, không phụ thuộc locale. Dùng cho so sánh nội bộ, key, protocol, serialization.
Cú pháp
public string ToLowerInvariant();
Ví dụ 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 bằng String 2: {0}", str1.Equals(str2));
}
}
Kết quả
String 1 = Pink Floyd String1 ToLowerInvariant = pink floyd String 2 = Ariana String2 ToLowerInvariant = ariana String 1 bằng String 2: False
Ví dụ 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());
}
}
Kết quả
String 1 = one String1 ToLowerInvariant = one String 2 = TWO String2 ToLowerInvariant = two String 3 = ThrEE String3 ToLowerInvariant = three
Lưu ý quan trọng
ToLowerInvariant()=ToLower(CultureInfo.InvariantCulture).- Tránh dùng
ToLower()(dùng CurrentCulture) cho dữ liệu nội bộ, key, protocol. - Ví dụ khác biệt locale: tiếng Thổ Nhĩ Kỳ 'İ' (I có chấm) -> 'i' (ToLowerInvariant) nhưng 'I' -> 'ı' (dotless i) với tr-TR culture.
- So sánh chuỗi không phân biệt hoa/thường:
StringComparison.OrdinalIgnoreCase(khuyên dùng). - Chuỗi immutable, phương thức trả về instance mới.