เมธอด String.ToLower() ใน C# ใช้สร้างสำเนาของสตริงที่แปลงเป็นตัวพิมพ์เล็ก (lowercase) ทั้งหมด
ไวยากรณ์ (Syntax)
public string ToLower();
- คืนค่า
stringใหม่ที่เป็นตัวพิมพ์เล็กทั้งหมด - ใช้กฎการแปลงของ current culture (วัฒนธรรมปัจจุบันของ thread)
- มี overload
ToLower(CultureInfo)สำหรับระบุ culture เอง
ตัวอย่างที่ 1: แปลงเป็นตัวพิมพ์เล็กพื้นฐาน
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 from index 4 = " + str1.Substring(4, 4));
Console.Write("Character array... 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 from index 2 = " + str2.Substring(0, 5));
Console.Write("Character array... String2 = ");
for (int i = 0; i < arr2.Length; i++)
Console.Write(" " + arr2[i]);
}
}
ผลลัพธ์
String1 = WELCOME! String1 ToLower = welcome! String1 Substring from index 4 = OME! Character array... String1 = C O String2 = Thisisit! String2 ToLower = thisisit! String2 Substring from index 2 = Thisi Character array... String2 = i s
ตัวอย่างที่ 2: ใช้ CultureInfo ระบุ (en-US)
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 = " + str1.ToLower(new CultureInfo("en-US", false)));
Console.WriteLine("String1 Substring from index 4 = " + str1.Substring(2, 2));
Console.WriteLine("\n\nString2 = " + str2);
Console.WriteLine("String2 ToLower = " + str2.ToLower(new CultureInfo("en-US", false)));
Console.WriteLine("String2 Substring from index 2 = " + str2.Substring(0, 5));
}
}
ผลลัพธ์
String1 = ABCD! String1 ToLower = abcd! String1 Substring from index 4 = CD String2 = @#$PQRSTUV! String2 ToLower = @#$pqrstuv! String2 Substring from index 2 = @#$PQ
สรุป
ToLower()คืนสตริงใหม่ — สตริงเดิมไม่เปลี่ยน (immutable)- ใช้กฎ current culture — อาจให้ผลต่างกันในบางภาษา (เช่น ตุรกี: 'I' → 'ı' ไม่ใช่ 'i')
- ใช้
ToLowerInvariant()สำหรับการแปลงที่ไม่ขึ้นกับ culture (เช่น ไฟล์ config, 識別子, protocol) - มี overload
ToLower(CultureInfo culture)เพื่อระบุ culture เอง - ตัวอักษรที่ไม่ใช่ตัวอักษร (ตัวเลข, สัญลักษณ์, whitespace) จะคงเดิม
ToLower vs ToLowerInvariant
| เมธอด | ใช้ Culture | เหมาะสำหรับ |
|---|---|---|
| ToLower() | CurrentCulture | แสดงผลให้ผู้ใช้ (UI, ข้อความ) |
| ToLower(CultureInfo) | Culture ที่ระบุ | การประมวลผลเฉพาะภาษา/ภูมิภาค |
| ToLowerInvariant() | InvariantCulture | Internal processing, identifiers, protocols, file formats |