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

C# TryParse를 활용해 문자열이 유효한 숫자인지 검사하는 방법

C#에서는 int.TryParse 메서드와 out 키워드를 함께 사용하면, 주어진 문자열이 유효한 숫자 표현인지 손쉽게 확인할 수 있습니다. 이 방법은 변환에 실패했을 때 예외(Exception)를 발생시키지 않고 false를 반환하기 때문에, int.Parse보다 안전하게 사용할 수 있다는 장점이 있습니다.

기본 사용 예시

먼저 검사할 문자열을 준비합니다.

string myStr = "5";

이 문자열이 숫자로 표현 가능한지 확인하려면 다음과 같이 TryParse와 out 매개변수를 사용합니다.

int.TryParse(myStr, out a);

전체 코드

아래는 위 내용을 포함한 완성된 예제 코드입니다.

using System.IO;
using System;

class Program {
   static void Main() {
      bool res;
      int a;
      string myStr = "5";

      // 숫자의 유효한 문자열 표현인지 검사
      res = int.TryParse(myStr, out a);

      Console.WriteLine(res);
   }
}

실행 결과

문자열 "5"는 정수로 변환할 수 있는 값이므로, TryParse는 true를 반환하고 변환된 값은 변수 a에 저장됩니다.

True

TryParse의 동작 원리

int.TryParse(string s, out int result) 메서드는 두 가지 값을 반환합니다.

  • 반환값(bool): 변환이 성공하면 true, 실패하면 false를 반환합니다.
  • out 매개변수(result): 변환이 성공하면 변환된 정수 값이 저장되고, 실패하면 0이 저장됩니다.

만약 문자열이 "abc"처럼 숫자로 변환할 수 없는 값이라면, 예외가 발생하지 않고 false가 반환되므로 별도의 try-catch 블록 없이도 안전하게 처리할 수 있습니다. 이러한 특성 덕분에 사용자 입력 검증 등 불완전한 데이터를 다루는 상황에서 TryParse를 활용하는 것이 권장됩니다.