특수 식별자: _ 버림
C# 7에서 새롭게 제공되는 기능 중 다음 세 가지에 대해서도 지역 변수를 사용할 수 있다.
• 분해(이 절과 12.2절)
• 패턴(12.3절에서 12.7절)
• out 변수(14.2절)
세 가지 기능 모두에 대해 특수한 의미를 가진 _(밑줄 하나)를 변수 이름으로 사용할 수 있다. 이 변수 이름을 버림(discard)이라고 하는데, ‘결과에 신경 쓰지 않으며 변수로도 사용하고 싶지 않으므로 그냥 제거하라’는 의미다. 버림을 사용하면 새로운 변수를 범위 내에 추가하지 않는다. 또한 신경 쓰지 않는 변수가 여러 개일 때 각기 다른 이름을 주는 대신 버림을 반복하여 사용할 수도 있다.
다음 코드에 튜플을 분해할 때 버림을 여러 번 사용한 예를 나타냈다.
var tuple = (1, 2, 3, 4); ----- 네 개의 요소를 가진 튜플
var (x, y, _, _) = tuple; ----- 튜플 분해 시 앞쪽 두 개의 요소만 값을 유지함
Console.WriteLine(_); ----- Error CS0103: ‘_’ 이름이 현재 컨텍스트에 없습니다.
동일한 범위 내에서 _라는 이름의 다른 변수를 이미 사용하고 있더라도 분해 시에 _를 사용할 수 있으며, 이 경우에도 _ 변수가 가진 기존의 값은 그대로 유지된다.
앞서 살펴본 간단한 예제처럼 변수를 분해할 때마다 매번 새로운 변수를 선언해야 하는 것은 아니며, 할당문 내에서도 변수 분해 방식을 그대로 사용할 수 있다.