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

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

Giới thiệu

Phương thức ToUpperInvariant() chuyển chuỗi thành chữ hoa sử dụng quy tắc của invariant culture (văn hóa bất biến). Điều này đảm bảo hành vi nhất quán trên mọi hệ thống, không phụ thuộc vào cài đặt vùng域 (locale) của máy tính. Phù hợp cho so sánh nội bộ, key dictionary, serialization, protocol.

Cú pháp

public string ToUpperInvariant();

Ví dụ 1

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 ToUpperInvariant = " + str1.ToUpperInvariant());

        Console.WriteLine("String 2 = " + str2);
        Console.WriteLine("String2 ToUpperInvariant = " + str2.ToUpperInvariant());

        Console.WriteLine("String 3 = " + str3);
        Console.WriteLine("String3 ToUpperInvariant = " + str3.ToUpperInvariant());
    }
}

Kết quả

String 1 = one
String1 ToUpperInvariant = ONE
String 2 = TWO
String2 ToUpperInvariant = TWO
String 3 = ThrEE
String3 ToUpperInvariant = THREE

Ví dụ 2

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        string str1 = "abcd";
        string str2 = "PQRS";

        Console.WriteLine("String 1 = " + str1);
        Console.WriteLine("String1 ToUpperInvariant = " + str1.ToUpperInvariant());

        Console.WriteLine("String 2 = " + str2);
        Console.WriteLine("String2 ToLowerInvariant = " + str2.ToLowerInvariant()); // Minh họa ToLowerInvariant
    }
}

Kết quả

String 1 = abcd
String1 ToUpperInvariant = ABCD
String 2 = PQRS
String2 ToLowerInvariant = pqrs

Lưu ý quan trọng

  • Invariant Culture: Không thay đổi theo vùng域, ngôn ngữ. Luôn dùng bảng mã Unicode chuẩn.
  • Khác với ToUpper() dùng CurrentCulture (có thể khác biệt: ví dụ tiếng Thổ Nhĩ Kỳ 'i' -> 'İ' có chấm).
  • Hiệu suất: ToUpperInvariant() nhanh hơn ToUpper(CultureInfo.InvariantCulture) một chút.
  • Dùng cho: key dictionary, so sánh chuỗi nội bộ, XML/JSON serialization, file path chuẩn hóa.
  • Để so sánh không phân biệt hoa/thường: str1.Equals(str2, StringComparison.OrdinalIgnoreCase) (khuyên dùng hơn ToUpper).