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

C# Char.ToUpperInvariant() 메서드: 유니코드 문자를 대문자로 변환하는 방법

C#의 Char.ToUpperInvariant() 메서드는 고정 문화권(invariant culture)의 대소문자 규칙을 사용하여 유니코드 문자를 해당하는 대문자로 변환합니다. 이 메서드는 시스템의 현재 문화권 설정에 영향을 받지 않으므로, 어떤 환경에서 실행되더라도 항상 동일하고 일관된 결과를 보장합니다.

구문

public static char ToUpperInvariant(char ch);

위 구문에서 매개변수 ch는 대문자로 변환할 유니코드 문자를 나타냅니다. 메서드는 변환된 대문자 문자를 char 타입으로 반환하며, 이미 대문자인 문자나 대소문자 구분이 없는 문자는 그대로 반환됩니다.

ToUpper()와의 차이점

일반적인 Char.ToUpper() 메서드는 현재 스레드의 문화권 규칙을 따르기 때문에 실행 환경에 따라 결과가 달라질 수 있습니다. 반면 ToUpperInvariant()는 문화권과 무관하게 고정된 규칙을 적용하므로, 파일 이름 처리, 네트워크 프로토콜 파싱, 데이터 직렬화처럼 일관성이 중요한 작업에 적합합니다.

예제 1

다음은 Char.ToUpperInvariant() 메서드를 사용해 소문자 'q'를 대문자로 변환하는 예제입니다.

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

출력 결과

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

Value = q
Uppercase Equivalent = Q

예제 2

이번에는 또 다른 소문자 'r'을 대문자로 변환하는 예제를 살펴보겠습니다.

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

출력 결과

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

Value = r
Uppercase Equivalent = R

이처럼 Char.ToUpperInvariant() 메서드는 단일 문자를 안정적으로 대문자로 변환할 수 있는 간단하면서도 유용한 도구입니다. 특히 다국어 환경에서 코드가 예측 가능하게 동작해야 하는 경우에 활용하면 좋습니다.