当使用“var”在C#中声明变量时,是否会发生装箱/拆箱?
当使用var来声明变量时,是否还存在运行时类型不匹配的可能性?
答案 0 :(得分:25)
没有。使用var的编译方式与您指定的确切类型名称完全相同。 e.g。
var x = 5;
和
int x = 5;
编译为相同的IL代码。
答案 1 :(得分:10)
var只是一个方便的关键字,它告诉编译器弄清楚类型是什么,并用该类型替换“var”。
当与LINQ等技术一起使用时,它最有用,其中查询的返回类型有时难以确定。
使用嵌套泛型声明或其他长声明时,它也很有用(保存一些输入法):
var dic = new Dictionary<string, Dictionary<int, string>>();