C#시작과 문법

Parse와 TryParse

문자열을 숫자나 날짜로 변환할 때 쓰는 `Parse`와 예외 없이 안전하게 검사하는 `TryParse` 차이를 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

csharp
int count = int.Parse("42");

if (int.TryParse(text, out int value))
{
    Console.WriteLine(value);
}

설명

  • Parse는 형식이 맞지 않으면 예외를 던지므로 입력이 신뢰될 때 더 어울립니다.
  • TryParse는 성공 여부를 bool로 돌려주고 결과는 out 매개변수에 담습니다.
  • 사용자 입력, 파일 데이터, 외부 API 응답처럼 불확실한 문자열은 보통 TryParse가 더 안전합니다.
  • 숫자뿐 아니라 double, DateTime, Guid 같은 타입도 비슷한 패턴을 제공합니다.

짧은 예제

csharp
string text = "120";

if (int.TryParse(text, out int amount))
{
    Console.WriteLine(amount + 10);
}
else
{
    Console.WriteLine("invalid number");
}

빠른 정리

항목설명
Parse실패 시 예외 발생
TryParse실패 시 false 반환
신뢰된 입력Parse도 가능
불확실한 입력TryParse 권장
out결과 값을 함께 돌려받는 방식

주의할 점

입력 검증이 필요한 곳에서 Parse만 바로 쓰면 예외 처리 코드가 많아집니다. 사용자 입력은 기본적으로 실패 가능성을 먼저 고려하는 편이 좋습니다.