C#의 Uri.IsHexDigit() 메서드는 지정된 문자가 유효한 16진수(hexadecimal) 숫자인지 여부를 판별합니다. 16진수 숫자는 0~9의 숫자와 A~F(또는 a~f)의 알파벳 문자로 구성됩니다.
구문
다음은 이 메서드의 기본 구문입니다.
public static bool IsHexDigit (char ch);
위 구문에서 매개변수 ch는 유효성을 검사할 문자를 나타냅니다. 해당 문자가 16진수 숫자이면 true를, 그렇지 않으면 false를 반환합니다.
예제 1
이제 Uri.IsHexDigit() 메서드를 사용하는 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
char ch = 'e';
Console.WriteLine("문자 값 = "+ch);
int res = Uri.FromHex(ch);
Console.WriteLine("변환된 정수 값 = "+res);
if(Uri.IsHexDigit(ch)) {
Console.WriteLine("유효한 16진수 숫자입니다");
} else {
Console.WriteLine("유효하지 않은 16진수 숫자입니다");
}
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
문자 값 = e 변환된 정수 값 = 14 유효한 16진수 숫자입니다
위 예제에서 문자 'e'는 16진수로 유효한 문자이며, 함께 사용된 Uri.FromHex() 메서드를 통해 해당 문자가 정수 값 14로 변환되는 것도 확인할 수 있습니다.
예제 2
이번에는 유효하지 않은 문자를 사용한 또 다른 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(){
char ch = '#';
Console.WriteLine("문자 값 = "+ch);
if(Uri.IsHexDigit(ch)) {
Console.WriteLine("유효한 16진수 숫자입니다");
} else {
Console.WriteLine("유효하지 않은 16진수 숫자입니다");
}
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
문자 값 = # 유효하지 않은 16진수 숫자입니다
특수 문자 '#'는 16진수 숫자 범위에 해당하지 않으므로 IsHexDigit() 메서드가 false를 반환하고, 그 결과 "유효하지 않은" 메시지가 출력됩니다. 이처럼 Uri.IsHexDigit() 메서드는 URI 인코딩 처리나 문자열 검증 작업에서 특정 문자가 16진수 표현에 적합한지 빠르게 확인해야 할 때 유용하게 활용할 수 있습니다.