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

C# 7.0의 Out 매개변수 개선 사항 총정리

C# 7.0에서는 out 매개변수(out parameter) 기능이 크게 개선되었습니다. 이제 out 변수를 메서드 호출 시 인자 목록 안에서 직접 선언할 수 있어, 별도의 선언문을 작성할 필요가 없습니다.

Out 매개변수란?

out 매개변수는 메서드가 여러 값을 호출자에게 반환해야 할 때 유용하게 사용됩니다. C# 7.0 이전에는 out 변수를 사용하기 전에 반드시 메서드 호출부 밖에서 미리 선언해야 했지만, 새로운 버전에서는 값을 실제로 사용하는 위치에서 인라인(inline)으로 선언할 수 있습니다.

개선된 기능의 장점

  • 코드가 훨씬 더 읽기 쉬워집니다.
  • 변수에 초기값을 미리 할당할 필요가 없습니다.
  • 선언과 사용이 한곳에 모여 코드 흐름을 파악하기 쉬워집니다.

기존 문법 (C# 7.0 이전)

C# 7.0 이전 버전에서는 out 변수를 메서드 호출 전에 별도로 선언해야 했습니다.

예제

class Program{
    public static void AddMultiplyValues(int a, int b, out int c, out int d){
        c = a + b;
        d = a * b;
    }
    public static void Main(){
        int c;   // 별도 선언 필요
        int d;   // 별도 선언 필요
        AddMultiplyValues(5, 10, out c, out d);
        System.Console.WriteLine(c);
        System.Console.WriteLine(d);
        Console.ReadLine();
    }
}

출력 결과

15
50

새로운 문법 (C# 7.0)

C# 7.0부터는 메서드 호출 시 인자 목록 안에서 out 변수를 직접 선언할 수 있습니다.

예제

class Program{
    public static void AddMultiplyValues(int a, int b, out int c, out int d){
        c = a + b;
        d = a * b;
    }
    public static void Main(){
        // 인자 목록에서 바로 선언
        AddMultiplyValues(5, 10, out int c, out int d);
        System.Console.WriteLine(c);
        System.Console.WriteLine(d);
        Console.ReadLine();
    }
}

출력 결과

15
50

마무리

이처럼 C# 7.0의 인라인 out 변수 선언은 불필요한 코드를 줄이고 가독성을 높여주는 유용한 기능입니다. 특히 TryParse 같은 패턴에서 그 효과가 두드러지며, 간결하고 직관적인 코드 작성을 가능하게 합니다.