용과젤리 개발 레시피

C#/기본기

[C#] Out 매개변수

용과젤리연구소장 2022. 12. 23. 13:58

Out 매개변수 한정자


특징

  • 참조를 통해 인수를 전달
  • 매개변수에 대한 모든 작업이 인수에서 수행됨(ref 와 유사, 단 ref는 변수를 전달하기 전에 초기화 필요)
  • 메서드 정의와 호출 메서드가 모두 명시적으로 out 키워드를 사용해야 함
  • 제네릭 형식의 매개변수와 함께 사용하여 형식 매개 변수를 공변으로 지정가능
  • 호출된 out 매개변수 반환되기 전에 값을 할당해야 함
  • 비동기 메서드 사용 불가

예제1


```C#
void SampleMethod(out int number, out string alphabet)
{
    number = 1;
    alphabet = "a";
}

int argNumber;
string argAlphabet;
Method(out argNumber, out argAlphabet);
Console.WriteLine(argNumber);
Console.WriteLine(argAlphabet);
```

예제2


```C#
string numAsStr = "123";
int num;
if (Int32.TryParse(numAsStr, out num))
    Console.WriteLine($"Converted {num}");
else
    Console.WriteLine($"DisConverted {numAsStr}");
```

```C#
string numAsStr = "123";
int num;
if (Int32.TryParse(numAsStr, out int num))
    Console.WriteLine($"Converted {num}");
else
    Console.WriteLine($"DisConverted {numAsStr}");
```

```C#
string numAsStr = "123";
int num;
if (Int32.TryParse(numAsStr, out var num))
    Console.WriteLine($"Converted {num}");
else
    Console.WriteLine($"DisConverted {numAsStr}");
```

참고

'C# > 기본기' 카테고리의 다른 글

[C#] Using 문  (0) 2022.12.22
[C#] 익명 형식  (0) 2022.12.20