使用"var"在C#中声明变量

Dev*_*per 9 .net c#

当使用"var"在C#中声明变量时,是否会发生装箱/拆箱?


使用var声明变量时,是否还存在运行时类型不匹配的可能性?

con*_*tor 25

编号与使用var完全一样,就像您指定了确切的类型名称一样.例如

var x = 5;
Run Code Online (Sandbox Code Playgroud)

int x = 5;
Run Code Online (Sandbox Code Playgroud)

被编译为相同的IL代码.

  • Joel:不,如果你使用var,你必须立即初始化.请参阅C#3.0规范的第8.5.1节. (2认同)

jos*_*rry 10

var只是一个方便的关键字,它告诉编译器弄清楚类型是什么,并用该类型替换"var".

当与LINQ等技术一起使用时,它最有用,其中查询的返回类型有时难以确定.

使用嵌套泛型声明或其他长声明时,它也很有用(节省一些输入):

var dic = new Dictionary<string, Dictionary<int, string>>();
Run Code Online (Sandbox Code Playgroud)