Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# int.TryParse 메서드 – 문자열을 정수로 안전하게 변환하기

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("유효한 숫자가 아닙니다.");
}