var

Clean·2025년 3월 16일

MSW에 local키워드가 있다면, C#에는 var키워드가 있다.

둘 다 메서드 내에 존재하는 지역 변수지만,

다른 점이 있으니 인지하고 있어야 한다.


var varInt = 10;
var varString = "Hi";
var varBool = true;
var varFloat = new float[5];

var에는 대부분 타입이 들어갈 수 있어서 local과 같이 사용할 생각이었지만,

  • 한번 타입이 정해지면 변경 불가능 (int → string 불가능)
  • 반드시 초기화가 필요 (var x;, var y = null; 불가능)
  • 지역 변수로만 사용 가능 (메서드 내에서만 선언 가능)

local처럼 유연하게는 사용하기 어려워 보인다.


그럼 언제 사용하는 것일까?

// foreach문에서 사용
var isIntArray = new int[] { 1, 2, 3, 4, 5 };
foreach (var isInt in isIntArray)
{
	Console.WriteLine(isInt);
}

foreach문에서 var를 사용하면 자동으로 isInt의 타입이 추론된다.


local처럼 유연하진 않지만, 타입을 자동으로 추론해주니
어렵지않게 사용할 수 있을 것 같다.

0개의 댓글