Programing/C#

C# 프로그래밍의 기초 : 파싱(Parsing) 이해하기

유니얼 2024. 3. 11. 01:52
728x90

문자열 데이터를 다른 데이터 타입으로 변환하는 과정을 파싱(Parsing)이라고 합니다. 프로그래밍에서는 사용자 입력, 파일, 또는 네트워크 소스로부터 읽어온 데이터를 처리할 때, 이 데이터가 문자열 형태로 주어지는 경우가 많습니다. 이러한 문자열 데이터를 숫자 타입(int, double 등)으로 변환해야 하는 상황이 자주 발생합니다. 이 과정에서 사용되는 두 가지 주요 방법은 Parse 메소드와 TryParse 메소드입니다.

Parse 메소드

Parse 메소드는 문자열을 특정 타입으로 강제로 변환합니다. 예를 들어, 문자열 "123"을 int 타입의 숫자 123으로 변환하거나, "123.45"를 double 타입의 숫자 123.45로 변환할 수 있습니다. 그러나 변환할 수 없는 문자열을 Parse 메소드에 전달하는 경우, 예를 들어 숫자가 아닌 문자열을 int.Parse에 전달하면 FormatException 예외가 발생합니다. 따라서 Parse 메소드는 변환하려는 문자열이 올바른 형식인지 확신이 있을 때 사용하는 것이 좋습니다.

TryParse 메소드

TryParse 메소드는 Parse 메소드의 안전한 대안입니다. 이 메소드는 변환을 시도하고, 변환에 성공하면 true를 반환하고, 변환된 값을 out 파라미터를 통해 반환합니다. 변환에 실패해도 예외를 발생시키지 않으며, false를 반환합니다. 이 메소드는 변환 과정에서 발생할 수 있는 예외를 방지하고, 변환 가능성을 안전하게 확인하고자 할 때 유용합니다.

예제 코드

using System;
using System.Reflection;

class Program
{
    static void Main(string[] args)
    {
        // Parse 메소드 예제
        string intString = "123";
        int parsedInt = int.Parse(intString);
        Console.WriteLine($"Parse로 변환된 int 값: {parsedInt}");

        // TryParse 메소드 예제
        string doubleString = "123.45";
        double parsedDouble;
        bool isDoubleParseSuccessful = double.TryParse(doubleString, out parsedDouble);
        Console.WriteLine(isDoubleParseSuccessful ? $"파싱된 double 값: {parsedDouble}" : "double로 파싱 실패");
        //출력 
        // num is null
    }
}

결론

문자열 데이터를 다른 데이터 타입으로 변환하는 파싱 작업은 프로그래밍에서 흔히 발생하는 작업입니다. Parse와 TryParse 메소드를 적절히 사용함으로써 데이터 변환 작업의 정확성과 프로그램의 안정성을 높일 수 있습니다. 특히, 예외 발생 가능성이 있는 상황에서는 TryParse 메소드를 사용하는 것이 더 안전한 접근 방법입니다.

반응형