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}");
```
참고