읽기 전용 변수는 참조할 수 없음
C# 7.0에 도입된 참조 지역 변수는 쓰기 가능하다. 즉, 종이 조각에 새로운 값을 쓸 수 있다. 이는 쓰기가 불가능한 종이 조각으로 참조 지역 변수를 초기화하려 할 때 문제가 된다. 다음과 같이 시도하면 readonly 한정자의 역할을 위반하는 꼴이 된다.
class MixedVariables
{
private int writableField;
private readonly int readonlyField;
public void TryIncrementBoth()
{
ref int x = ref writableField; ----- 쓰기 가능 필드
ref int y = ref readonlyField; ----- 읽기 전용 필드에 별칭을 부여하려 시도
➊
x++;
y++;
}
}
➊ 두 변수의 값을 증가시킴