C# Convert.ToChar 메서드란?
Convert.ToChar 메서드는 지정된 숫자 값을 그에 대응하는 유니코드(Unicode) 문자로 변환하는 기능을 제공합니다. 이 메서드는 System 네임스페이스의 Convert 클래스에 속해 있으며, 정수 형태의 코드 값을 실제 문자(char)로 바꿀 때 유용하게 사용됩니다.
기본 사용법
먼저 sbyte 형식의 변수를 선언한 뒤, Convert.ToChar() 메서드를 호출하면 해당 값이 문자로 변환됩니다.
sbyte byteVal = 111;
char charVal = Convert.ToChar(byteVal);
위 코드에서는 숫자 111이 문자 'o'로 변환됩니다.
예제
다음은 sbyte 배열에 담긴 여러 값을 Convert.ToChar() 메서드로 변환하여 출력하는 전체 예제입니다.
using System;
public class Demo {
public static void Main() {
sbyte[] byteVal = { 92, 111, 115 };
char charVal;
foreach (sbyte b in byteVal) {
charVal = Convert.ToChar(b);
Console.WriteLine("{0} converted to '{1}'", b, charVal);
}
}
}
실행 결과
92 converted to '\'
111 converted to 'o'
115 converted to 's'
각 숫자 값이 ASCII 코드에 따라 대응되는 문자로 변환되어 출력되는 것을 확인할 수 있습니다. 예를 들어 92는 역슬래시(\), 111은 'o', 115는 's'에 해당합니다.
주요 특징과 주의 사항
- 변환 대상 값은 유효한 유니코드 코드 포인트 범위(0~65535) 안에 있어야 합니다.
- 음수 값이나 허용 범위를 벗어난 값을 전달하면 OverflowException이 발생합니다.
- null 값을 전달하면 ArgumentNullException이 발생합니다.
- 문자열 오버로드의 경우 길이가 1이 아닌 문자열을 전달하면 FormatException이 발생합니다.