C#의 ToLower() 메서드는 현재 문자열을 모두 소문자로 변환한 새로운 복사본을 반환합니다. 원본 문자열은 그대로 유지되며, 대소문자를 구분하지 않는 문자열 비교나 데이터 정규화 작업에서 널리 활용됩니다.
구문
ToLower() 메서드의 기본 구문은 다음과 같습니다.
public string ToLower ();
예제 1 – 기본 사용법
다음 예제에서는 ToLower() 메서드를 사용하여 두 개의 문자열을 소문자로 변환하고, 부분 문자열 추출 및 문자 배열 변환 결과도 함께 확인해 봅니다.
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 index4 = " + 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 index2 = " + 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 index4 = OME! Character array...String1 = C O String2 = Thisisit! String2 ToLower = thisisit! String2 Substring from index2 = Thisi Character array...String2 = i s
예제 2 – CultureInfo를 활용한 문화권별 변환
ToLower() 메서드는 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 index4 = " + 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 index2 = " + str2.Substring(0, 5));
}
}출력 결과
String1 = ABCD! String1 ToLower = abcd! String1 Substring from index4 = CD String2 = @#$PQRSTUV! String2 ToLower = @#$pqrstuv! String2 Substring from index2 = @#$PQ
정리
ToLower() 메서드는 매개변수 없이 호출하면 현재 시스템 문화권(culture)의 대소문자 규칙을 따르고, CultureInfo 객체를 전달하면 해당 문화권의 규칙에 맞게 변환됩니다. 운영체제나 서버 환경과 무관하게 항상 동일한 결과가 필요하다면, 문화권의 영향을 받지 않는 ToLowerInvariant() 메서드를 사용하는 것이 더 안전한 선택입니다.