Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Char.ToLowerInvariant(Char) 메서드 – 유니코드 문자를 소문자로 변환하는 방법

C#의 Char.ToLowerInvariant() 메서드는 불변 문화권(Invariant Culture)의 대소문자 변환 규칙을 적용하여 유니코드 문자 값을 해당하는 소문자로 변환합니다. 실행 환경의 문화권 설정과 무관하게 항상 동일한 결과를 보장해야 하는 경우에 특히 유용하게 활용됩니다.

구문

다음은 Char.ToLowerInvariant() 메서드의 기본 구문입니다 −

public static char ToLowerInvariant (char ch);

위 구문에서 매개변수 ch는 소문자로 변환할 유니코드 문자입니다. 이 메서드는 정적(static) 메서드이므로 Char 클래스의 인스턴스를 생성하지 않고도 직접 호출할 수 있습니다.

예제 1

먼저 Char.ToLowerInvariant() 메서드를 사용하여 대문자를 소문자로 변환하는 예제를 살펴보겠습니다 −

using System;
public class Demo {
   public static void Main(){
      char ch = 'D';
      char res = Char.ToLowerInvariant(ch);
      Console.WriteLine("Value = "+ch);
      Console.WriteLine("Lowercase Equivalent = "+res);
   }
}

출력

위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

Value = D
Lowercase Equivalent = d

대문자 'D'가 소문자 'd'로 성공적으로 변환된 것을 확인할 수 있습니다.

예제 2

이번에는 이미 소문자인 문자를 입력값으로 전달하는 경우를 살펴보겠습니다 −

using System;
public class Demo {
   public static void Main(){
      char ch = 'p';
      char res = Char.ToLowerInvariant(ch);
      Console.WriteLine("Value = "+ch);
      Console.WriteLine("Lowercase Equivalent = "+res);
   }
}

출력

실행 결과는 다음과 같습니다 −

Value = p
Lowercase Equivalent = p

위 예제에서 확인할 수 있듯이, 이미 소문자인 문자 'p'를 입력하면 원본 값이 그대로 반환됩니다. 즉, Char.ToLowerInvariant() 메서드는 대문자만 소문자로 변환하며, 이미 소문자인 문자나 숫자·특수문자처럼 대소문자 구분이 없는 문자는 변경 없이 그대로 반환합니다.

참고 사항

Char.ToLowerInvariant()는 현재 스레드의 문화권 설정에 영향을 받지 않기 때문에, 터키어의 'i' 처리와 같은 문화권별 예외 상황에서도 일관된 동작을 보장합니다. 만약 특정 문화권의 규칙에 따라 변환이 필요하다면 Char.ToLower(Char, CultureInfo) 메서드를 사용하는 것이 좋습니다.