본문 바로가기

교육 노트/C# 강의

[C# 때려잡기] C# 강의 15.킹갓 var

C++의 auto 와 비슷한데.


쉽게 말하자면 컴파일러가 형식을 알아서 결정해준다.


using System;

namespace ConsoleApp1
{
class Program
{

static void Main(string[] args)
{
int i = 10;
var j = 10;
Console.WriteLine(i.GetType().ToString());
Console.WriteLine(j.GetType().ToString());

var f = 0.5f;
var d = 0.44;
Console.WriteLine(f.GetType().ToString());
Console.WriteLine(d.GetType().ToString());

var s = "string";
Console.WriteLine(s.GetType().ToString());

int[] arr = { 1, 2, 3, 4, 5 }; //var안됨
var arr2 = new int[10];
Console.WriteLine(arr.GetType().ToString());
Console.WriteLine(arr2.GetType().ToString());

foreach (var item in arr)
{
Console.WriteLine(item.GetType().ToString());
break;
}

}
}
}


var를 사용하여 타입을 지정해주지 않아도 알아서 값에 맞게 타입이 정해진다

물론 아무때나 다쓸수있는건 아니고

추정 불가능 한것들은 몇개 존재하는데 ({}이니셜라이저로 배열을 만드는경우)

거진 쉽게 다 된다.

코드가독성을위하여 남용하지는 말고 foreach 문이나 나중에 타입이 길어지는경우

이럴때 적재 적소에 사용하면 좋다

728x90