c# 6.0 이전에는 out 매개변수가 정의된 메서드를 사용하려면 반드시 인자로 전달될 인스턴스를 미리 선언해야 했다. 하지만 c# 7.0부터는 변수 선언 없이 변수의 타입과 함께 out 예약어를 쓸 수 있다.
✍ c# 6.0 이전
int result;
int.TryParse("50", out result);
Console.WriteLine(result);
✍ c# 7.0 이후
int.TryParse("50", out int result);
Console.WriteLine(result);
✍ 중복 변수 선언 오류_c#7
int.TryParse("50", out int result);
Console.WriteLine(result);
int.TryParse("100", out int result);
Console.WriteLine(result);
✍ 중복 변순 선언 오류_c#6
int result;
int.TryParse("50", out result);
Console.WriteLine(result);
int result; //중복 변수 선언
int.TryParse("100", out result);
Console.WriteLine(result);
✍ var 예약어 사용
int.TryParse("50", out var result); //out int result로 컴파일러가 처리
Console.WriteLine(result);
✍ 변수명 생략
int.TryParse("50", out int _); //변수명 생략
int.TryParse("50", out var _); //타입 추론
int.TryParse("50", out _); //타입까지도 생략