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

C# int.Parse vs int.TryParse 메서드 완벽 비교 및 사용법

C#에서는 문자열 형태의 숫자를 정수(int) 타입으로 변환할 때 int.Parseint.TryParse 두 가지 메서드를 활용할 수 있습니다.


두 메서드의 결정적인 차이는 변환에 실패했을 때의 동작 방식입니다. int.TryParse는 변환이 불가능할 경우 false라는 불리언(Boolean) 값을 반환하지만, int.Parse는 예외(Exception)를 발생시켜 프로그램 실행이 중단될 수 있습니다.


int.Parse 메서드란?


int.Parse는 문자열을 정수로 직접 변환하는 메서드입니다. 다만 문자열이 유효한 숫자 형식이 아니면 FormatException이 발생하기 때문에, 일반적으로 try-catch 블록과 함께 사용하는 것이 안전합니다.


int.Parse 사용 예제


using System.IO;
using System;
class Program {
    static void Main() {
        int res;
        string myStr = "120";
        res = int.Parse(myStr);
        Console.WriteLine("변환된 숫자: " + res);
    }
}

실행 결과


변환된 숫자: 120

int.TryParse 메서드란?


int.TryParse는 변환 성공 여부를 불리언 값으로 반환하고, out 매개변수를 통해 변환된 정수 값을 전달합니다. 변환에 실패해도 예외가 발생하지 않기 때문에, 사용자 입력 검증처럼 변환 실패 가능성이 있는 상황에서 훨씬 안전하게 사용할 수 있습니다.


int.TryParse 사용 예제


using System.IO;
using System;
class Program {
    static void Main() {
        bool res;
        int a;
        string myStr = "120";
        res = int.TryParse(myStr, out a);
        Console.WriteLine("변환 성공 여부: " + res);
    }
}

실행 결과


변환 성공 여부: True

어떤 메서드를 선택해야 할까?


  • int.Parse: 입력값이 항상 유효한 숫자 형식임이 보장되는 경우에 적합합니다. 잘못된 입력이 들어오면 FormatException이 발생합니다.
  • int.TryParse: 사용자 입력이나 외부 파일 데이터처럼 변환 실패 가능성이 있는 경우에 적합합니다. 예외 처리 없이 false 반환만으로 실패 여부를 확인할 수 있어 코드가 간결하고 안전합니다.

결론적으로, 변환 실패를 안정적으로 처리해야 하는 실무 환경에서는 int.TryParse를 사용하는 것이 권장됩니다.