C#에서 int.TryParse 메서드를 사용하면 숫자 형태의 문자열을 정수(int)로 안전하게 변환할 수 있습니다. 이 메서드의 가장 큰 장점은 변환에 실패해도 예외를 발생시키지 않고 false(Boolean 값)를 반환한다는 점입니다.
예를 들어, 다음과 같이 숫자가 문자열로 저장되어 있다고 가정해 보겠습니다.
string myStr = "12";
이 문자열을 정수로 변환하려면 int.TryParse()를 사용합니다. 변환이 성공하면 true를 반환하고, 두 번째 매개변수로 전달된 out 변수에 변환된 값이 저장됩니다.
int.TryParse(myStr, out a);
예제 코드
using System.IO;
using System;
class Program {
static void Main() {
bool res;
int a;
string myStr = "12";
res = int.TryParse(myStr, out a);
Console.WriteLine("문자열은 숫자 표현입니다: "+res);
}
}
실행 결과
문자열은 숫자 표현입니다: True
int.Parse와의 차이점
int.Parse()는 변환에 실패하면 FormatException 예외를 발생시킵니다. 반면 int.TryParse()는 예외 없이 false만 반환하므로, 사용자 입력 검증처럼 변환 실패 가능성이 있는 상황에서 더 안전하고 효율적인 선택입니다.
추가 팁: 인라인 out 변수 선언
C# 7.0 이상에서는 out 변수를 호출 시점에 바로 선언할 수 있어 코드가 더 간결해집니다.
if (int.TryParse(myStr, out int result)) {
Console.WriteLine($"변환 성공: {result}");
} else {
Console.WriteLine("유효한 숫자가 아닙니다.");
}