C# 3.0 컴파일러부터는 타입 추론이 가능하다.
메서드의 지역변수의 선언 시 타입에 관계 없이 var 예약어를 쓸 수 있다.
✍ 샘플 코드
static void Main(string[] args)
{
var a = 123;
var b = "A24T1";
var c = new Car();
Console.WriteLine(a.GetType().FullName);
Console.WriteLine(b.GetType().FullName);
Console.WriteLine(c.GetType().FullName);
}
}
class Car
{
string id;
int price;
//var color; //멤버 변수에서는 적용되지 못한다.
public void Drive(int speed)//(var speed) //파라매터에서도 적용되지 못한다.
{
var fast = speed > 100? true: false;
}
}
✅ 결과
System.Int32
System.String
Pjt.Car
var 키워드는 c# 컴파일러에 의해 실제 타입으로 치환된다. var 예약어를 남발하는 것은 코드의 가독성을 떨어뜨리지만, 복잡한 타입(ex> KeyValuePair<string, List>)의 경우 var 예약어를 쓰면 코드가 간결해진다.