C#에서는 int.TryParse 메서드와 out 키워드를 함께 사용하면, 주어진 문자열이 유효한 숫자 표현인지 손쉽게 확인할 수 있습니다. 이 방법은 변환에 실패했을 때 예외(Exception)를 발생시키지 않고 false를 반환하기 때문에, int.Parse보다 안전하게 사용할 수 있다는 장점이 있습니다.
기본 사용 예시
먼저 검사할 문자열을 준비합니다.
string myStr = "5";
이 문자열이 숫자로 표현 가능한지 확인하려면 다음과 같이 TryParse와 out 매개변수를 사용합니다.
int.TryParse(myStr, out a);
전체 코드
아래는 위 내용을 포함한 완성된 예제 코드입니다.
using System.IO;
using System;
class Program {
static void Main() {
bool res;
int a;
string myStr = "5";
// 숫자의 유효한 문자열 표현인지 검사
res = int.TryParse(myStr, out a);
Console.WriteLine(res);
}
}실행 결과
문자열 "5"는 정수로 변환할 수 있는 값이므로, TryParse는 true를 반환하고 변환된 값은 변수 a에 저장됩니다.
True
TryParse의 동작 원리
int.TryParse(string s, out int result) 메서드는 두 가지 값을 반환합니다.
- 반환값(bool): 변환이 성공하면 true, 실패하면 false를 반환합니다.
- out 매개변수(result): 변환이 성공하면 변환된 정수 값이 저장되고, 실패하면 0이 저장됩니다.
만약 문자열이 "abc"처럼 숫자로 변환할 수 없는 값이라면, 예외가 발생하지 않고 false가 반환되므로 별도의 try-catch 블록 없이도 안전하게 처리할 수 있습니다. 이러한 특성 덕분에 사용자 입력 검증 등 불완전한 데이터를 다루는 상황에서 TryParse를 활용하는 것이 권장됩니다.