Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức String.ToLowerInvariant() trong C#

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.