TryParse 메서드
- String 문자열을 데이터 형으로 변환 합니다.
- 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.
- 변환 성공 : True 반환
- 변환 실패 : False 반환
- 변환에 실패하면 해당 데이터 형의 기본값을 TryParse()의 두번째 매개변수에 초기화합니다.
- 예제에서
r2
에 데이터 형의 기본값으로 초기화
- 예제에서
사용예제
static void Main(string[] args)
{
var s1 = "2021/01/01 16:44:03";
var s2 = "bad string example.";
DateTime r1, r2;
var b1 = DateTime.TryParse(s1, out r1);
var b2 = DateTime.TryParse(s2, out r2);
Console.WriteLine($"s1 = {s1}, b1 = {b1}, r1 = {r1}");
Console.WriteLine($"s2 = {s2}, b2 = {b2}, r2 = {r2}");
Console.ReadKey();
}
결과
TryParse 메서드 반환값 확인
- 그럼
r2
의 값을 데이터 형의 기본값과 비교할 수 있으면 반환값(True or False)를 확인하지 않아도 될까? - 예제에서 데이터 형의 기본값으로 반환값을 판단하면 안된다는 걸 확인할 수 있습니다.
- default(int)와 s의 변환값을 비교해서 변환 실패를 판정하면 잘못된 처리를 할 수 있습니다.
사용예제
static void Main(string[] args)
{
var s = "0";
int n;
var b = int.TryParse(s, out n);
if (n == default(int))
Console.WriteLine("Failed");
else
Console.WriteLine(n);
Console.WriteLine($"Converted Result : {b}");
Console.WriteLine($"n : {n}, default(int) : {default(int)}");
Console.ReadKey();
}
결과
정리
- TryParse()는 String 문자열을 데이터 형(int,double,DateTime 등..)으로 변환하는 메서드입니다.
- 변환 성공시 True, 변환 실패시 False를 반환합니다.
- 변환 실패시 TryParse()의 2번째 매개변수에 데이터 형의 기본값으로 초기화 합니다.
- 데이터 형의 기본값으로 TryParse()의 변환 성공 여부를 결정하지 말아야합니다.
참고
'프로그래밍 > (도서)C#코딩의기술-실전' 카테고리의 다른 글
[C#] 코딩의기술(실전편) - 3.1 First와 FirstOrDefault (0) | 2022.03.31 |
---|---|
[C#] 코딩의기술(실전편) - 2.14 테스트와 목(mock) (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 2.9 Goto 구문 (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 2.7 포인터 (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 2.6 unsafe (0) | 2022.03.31 |