C#:
Chuyển đổi chuỗi thành chữ thường
Làm thế nào:
Trong C#, bạn có thể chuyển đổi một chuỗi thành chữ thường sử dụng các phương thức ToLower()
hoặc ToLowerInvariant()
. Dưới đây là cách thực hiện:
string originalText = "Hello, World!";
string lowerCaseText = originalText.ToLower();
Console.WriteLine(lowerCaseText); // In ra: hello, world!
Và cho các phép chuyển đổi không phụ thuộc vào văn hóa:
string mixedCaseText = "İstanbul";
string lowerInvariantText = mixedCaseText.ToLowerInvariant();
Console.WriteLine(lowerInvariantText); // In ra: i̇stanbul
Kết quả mẫu:
hello, world!
i̇stanbul
Đi Sâu Hơn
Về mặt lịch sử, nhu cầu chuyển đổi chuỗi thành chữ thường bắt nguồn từ các hệ thống máy tính bắt đầu với các lệnh không phân biệt chữ hoa chữ thường. Ngày nay, chúng ta vẫn làm điều này vì ba lý do chính:
- Nhất quán: Khi xử lý đầu vào, đặc biệt là dữ liệu do người dùng tạo ra, chuyển đổi thành chữ thường đảm bảo một định dạng chuẩn.
- Các Thao Tác Không Phân Biệt Chữ Hoa Chữ Thường: Bao gồm tìm kiếm, sắp xếp và so sánh các chuỗi, nơi “Apple” nên được xử lý giống như “apple”.
- Địa phương hóa: Các ngôn ngữ có các quy tắc khác nhau cho việc viết hoa.
ToLowerInvariant()
giải quyết vấn đề này bằng cách cung cấp một phép chuyển đổi không phụ thuộc vào văn hóa, chuyển các ký tự thành chữ thường dựa vào văn hóa bất biến (tương tự như tiếng Anh) và tránh kết quả không mong muốn.
Các phương án thay thế cho .ToLower()
và .ToLowerInvariant()
bao gồm sử dụng biểu thức chính quy để thay thế hoặc lặp qua một chuỗi một cách thủ công cho các kịch bản chuyển đổi tùy chỉnh.
Về chi tiết triển khai, những phương thức này không chỉnh sửa chuỗi gốc; chuỗi trong .NET là bất biến. Chúng tạo và trả về một chuỗi mới là phiên bản chữ thường của chuỗi gốc.
Xem Thêm
- Lớp Chuỗi trong Tài liệu C# : Microsoft Docs
- Liệt kê StringComparison và So sánh Không Phụ Thuộc vào Văn Hóa: Microsoft Docs