Favicon

Out parameter modifier

Peponi11/27/20242m

C#
SyntaxKeywordModifierParameterout

1. Introduction

out 키워드는 쓰기 전용 참조 매개 변수를 의미한다. 메서드에 전달되기 전 할당은 선택사항이며, 선언된 out 파라미터는 리턴 전 값을 할당해야 한다. in 키워드와 달리, out 키워드는 호출 시 반드시 입력해야 한다. out 키워드를 사용하여 여러 값을 반환할 수 있으며 대안으로 튜플 형식 (System.ValueTuple)을 사용할 수도 있다.

다음 요소가 포함된 메서드에는 in, ref, out 키워드 사용이 불가능하다.

확장 메서드에는 다음과 같은 제약이 있다.

  • 첫 번째 인수에는 out 키워드 사용 불가

2. Example

public static void Foo(out int value)
{
    value = 10;
}
 
private static void Main()
{
    int input;
 
    // Foo(input);     // CS1620
 
    Foo(out input);
 
    Console.WriteLine(input);
 
    Foo(out var value);
 
    Console.WriteLine(value);
}
 
/* output:
10
10
*/

3. 참조 자료