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

Chương trình C# chuyển đổi chữ hoa/chữ thường (Character Case)

C# cung cấp phương thức built-in để chuyển đổi chữ hoa/thường cho chuỗi: ToUpper(), ToLower(), ToUpperInvariant(), ToLowerInvariant().

Mã nguồn

using System;

namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            string str = "AMIT";
            
            Console.WriteLine("Chữ hoa: {0}", str);
            Console.WriteLine("Chữ thường: {0}", str.ToLower());
            Console.ReadLine();
        }
    }
}

Kết quả

Chữ hoa: AMIT
Chữ thường: amit

Các phương thức liên quan

Phương thứcMô tảVí dụ
ToUpper()Chuyển toàn bộ sang chữ hoa (theo culture hiện tại)"abc" → "ABC"
ToLower()Chuyển toàn bộ sang chữ thường (theo culture hiện tại)"ABC" → "abc"
ToUpperInvariant()Chuyển hoa theo quy tắc invariant culture (EN-US)An toàn cho so sánh nội bộ
ToLowerInvariant()Chuyển thường theo invariant cultureKhuyên dùng cho key, identifier

Chuyển đổi từng ký tự (char)

char c = 'a';
char upper = char.ToUpper(c);   // 'A'
char lower = char.ToLower(c);   // 'a'

// Với culture cụ thể
char upperTr = char.ToUpper('i', new CultureInfo("tr-TR")); // 'İ' (dotted I)

Lưu ý quan trọng (Turkish I problem)

  • Trong tiếng Thổ Nhĩ Kỳ (tr-TR, az-AZ): 'i'.ToUpper() = 'İ' (có chấm), 'I'.ToLower() = 'ı' (không chấm).
  • Khi so sánh chuỗi nội bộ (key, config, XML...), luôn dùng ToUpperInvariant/ToLowerInvariant hoặc StringComparison.OrdinalIgnoreCase.
  • string.Equals(a, b, StringComparison.OrdinalIgnoreCase) — so sánh không phân biệt hoa/thường, an toàn culture.