C# - 암시적 형식 지역변수(var)와 참조 로컬 변수(ref)

반응형

 

암시적 형식 지역 변수

  • 선언
    • 'var' 키워드를 변수 앞에 사용
  • 정의
    • 메서드 범위에서 선언된 변수에 암시적으로 형식을 사용하는 것
    • 컴파일러가 형식 결정
  • 예시
    • 변수 a와 b는 동일한 기능 수행
var a = 10; // 암시적 형식 선언 (Implicitly typed)
int b = 10; // 명시적 형식 선언 (Explicitly typed)

참조 로컬 변수

  • 선언
    • 'ref' 키워드를 변수 형식 앞에 사용
  • 정의
    • 다른 스토리지를 참조하는 변수
  • 예시
    • 변수 a와 참조 변수 b는 둘 중 하나의 값이 변경되어도 동일하게 변경
    • 주의 : '스토리지'를 '참조'하기 때문에 사용에 주의해야 함, ref int b = ref a;
int a; // 변수a 선언
a = 1; // 변수a에 1의 값 입력

ref int b = ref a; // 참조변수b 선언 변수a를 참조하는 스토리지 입력

 

  • 잘못된 예시
    • 에러 출력 : Connot initialize a by-reference variable 'b' with a value
    • 즉, 참조변수b에 스토리지의 위치가 아닌 '값'을 입력하였기 때문에 초기화를 하지 못해서 선언이 되지 않음
int a = 1;

ref int b = a;

참고

Microsoft - Learn - .NET - C# 가이드 - 언어 참조 - 선언문

반응형