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

Phương thức ToLower() trong C#

Giới thiệu

Phương thức ToLower() của lớp String trả về bản sao của chuỗi được chuyển thành chữ thường. Có overload ToLower(CultureInfo) để chỉ định văn hóa (culture) cho quy tắc chuyển đổi (ví dụ: tiếng Thổ Nhĩ Kỳ có 'I' -> 'ı' thay vì 'i').

Cú pháp

public string ToLower();
public string ToLower(CultureInfo culture);

Ví dụ 1 - ToLower cơ bản

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        string str1 = "WELCOME!";
        string str2 = "Thisisit!";

        char[] arr1 = str1.ToCharArray(3, 2);
        char[] arr2 = str2.ToCharArray(2, 2);

        Console.WriteLine("String1 = " + str1);
        Console.WriteLine("String1 ToLower = " + str1.ToLower());
        Console.WriteLine("String1 Substring từ index 4 = " + str1.Substring(4, 4));
        Console.Write("Mảng ký tự String1 = ");
        for (int i = 0; i < arr1.Length; i++)
            Console.Write(" " + arr1[i]);

        Console.WriteLine("\n\nString2 = " + str2);
        Console.WriteLine("String2 ToLower = " + str2.ToLower());
        Console.WriteLine("String2 Substring từ index 0, độ dài 5 = " + str2.Substring(0, 5));
        Console.Write("Mảng ký tự String2 = ");
        for (int i = 0; i < arr2.Length; i++)
            Console.Write(" " + arr2[i]);
    }
}

Kết quả

String1 = WELCOME!
String1 ToLower = welcome!
String1 Substring từ index 4 = OME!
Mảng ký tự String1 = C O

String2 = Thisisit!
String2 ToLower = thisisit!
String2 Substring từ index 0, độ dài 5 = Thisi
Mảng ký tự String2 = i s

Ví dụ 2 - ToLower với CultureInfo

using System;
using System.Globalization;

public class Demo
{
    public static void Main(string[] args)
    {
        string str1 = "ABCD!";
        string str2 = "@#$PQRSTUV!";

        Console.WriteLine("String1 = " + str1);
        Console.WriteLine("String1 ToLower (en-US) = " + str1.ToLower(new CultureInfo("en-US", false)));
        Console.WriteLine("String1 Substring từ index 2, độ dài 2 = " + str1.Substring(2, 2));

        Console.WriteLine("\nString2 = " + str2);
        Console.WriteLine("String2 ToLower (en-US) = " + str2.ToLower(new CultureInfo("en-US", false)));
        Console.WriteLine("String2 Substring từ index 0, độ dài 5 = " + str2.Substring(0, 5));
    }
}

Kết quả

String1 = ABCD!
String1 ToLower (en-US) = abcd!
String1 Substring từ index 2, độ dài 2 = CD

String2 = @#$PQRSTUV!
String2 ToLower (en-US) = @#$pqrstuv!
String2 Substring từ index 0, độ dài 5 = @#$PQ

Lưu ý quan trọng

  • Chuỗi trong .NET là immutable, ToLower() trả về chuỗi mới.
  • Mặc định dùng CultureInfo.CurrentCulture. Với dữ liệu nội bộ (file, protocol, DB), dùng CultureInfo.InvariantCulture hoặc ToLowerInvariant().
  • Ví dụ văn hóa đặc biệt: tiếng Thổ Nhĩ Kỳ (tr-TR) chữ 'I' lớn thành 'ı' (dotless i), không phải 'i'.
  • ToLowerInvariant() tương đương ToLower(CultureInfo.InvariantCulture), nhanh hơn một chút.
  • Để so sánh chuỗi không phân biệt chữ hoa/thường: str1.Equals(str2, StringComparison.OrdinalIgnoreCase).