Contents
접기
728x90
C#에서 string을 숫자로 변환할 때 실패할 수도 있는 상황이 있다.
예를 들어 "123"은 숫자로 변환할 수 있지만, "hello"는 숫자로 변환할 수 없다.
이때 안전하게 변환하는 방법이 TryParse이다!
TryParse의 기본 개념
bool TryParse(string 입력값, out 변환된값);
- 성공하면 true를 반환하고, 변환된값에 변환된 숫자가 저장됨
- 실패하면 false를 반환하고, 변환된값은 기본값(예: 0)
📌 사용할 수 있는 데이터 형식:
✔ int.TryParse()
✔ double.TryParse()
✔ float.TryParse()
✔ decimal.TryParse()
✔ bool.TryParse() 등
int.TryParse 예제 (문자열 → 정수 변환)
string input = "123";
if (int.TryParse(input, out int number))
{
Console.WriteLine($"변환 성공! 숫자: {number}");
}
else
{
Console.WriteLine("변환 실패! 숫자가 아닙니다.");
}
🔹 출력:
변환 성공! 숫자: 123
✅ "123"은 숫자로 변환 가능하므로 number에 123이 저장됨!
변환 실패하는 경우
string input = "Hello";
if (int.TryParse(input, out int number))
{
Console.WriteLine($"변환 성공! 숫자: {number}");
}
else
{
Console.WriteLine("변환 실패! 숫자가 아닙니다.");
}
🔹 출력:
변환 실패! 숫자가 아닙니다.
✅ "Hello"는 숫자가 아니므로 변환되지 않고 false 반환
TryParse 없이 변환하면 어떻게 될까?
string input = "Hello";
int number = int.Parse(input); // 예외 발생!
⚠ int.Parse()는 변환할 수 없는 문자열을 만나면 프로그램이 에러(예외)로 멈춤!
📌 그래서 안전한 TryParse()를 쓰는 것이 좋다.
📖 정리
✔ TryParse()는 문자열을 숫자로 변환할 때 안전한 방법
✔ 변환 성공하면 true, 실패하면 false 반환
✔ 예외 발생 없이 프로그램이 안전하게 실행됨
✔ int, double, float, decimal, bool 등 다양한 데이터형에 사용 가능
728x90
'C# > 데이터다루기' 카테고리의 다른 글
[C#] Escape Sequence (0) | 2025.04.14 |
---|---|
[C#] Console.ReadLine(), Console.WriteLine(), Console.Read(), Console.Write() (0) | 2025.03.20 |
[C#] 형변환 (0) | 2025.03.19 |
[C#] 자료형 (0) | 2025.03.18 |
[C#] 변수 (0) | 2025.03.18 |