더북(TheBook)

타입: ID 변환만 허용됨

참조 지역 변수의 타입은 초기화 때 사용하는 변수와 동일한 타입이거나 두 타입 간에 ID 변환이 가능한 타입이어야 한다. 흔히 사용되는 다른 형태의 참조 변환은 허용되지 않는다. 다음 코드는 11장에서 살펴봤던 튜플 기반의 ID 변환을 이용하여 참조 지역 변수를 초기화하는 예다.

Note ≡


ID 변환에 대한 추가적인 내용은 11.3.3절을 살펴보기 바란다.

예제 13-5 참조 지역 변수 선언 시 ID 변환 ▶ RefLocalIdentityConversions.cs

(int x, int y) tuple1 = (10, 20);
ref (int a, int b) tuple2 = ref tuple1;
tuple2.a = 30;
Console.WriteLine(tuple1.x);

이 코드를 수행하면 tuple1tuple2가 같은 저장소 위치를 공유하고 있기 때문에 30을 출력한다. tuple1.xtuple2.a 그리고 tuple1.ytuple2.b는 동일한 저장소를 공유한다.

이 절에서는 지역 변수, 필드, 배열 요소를 이용하여 참조 지역 변수를 초기화하는 방법을 살펴봤다. C# 7에는 변수로 분류되는 새로운 표현식이 포함되었다. 바로 참조 반환에 의해 반환되는 변수다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.