Tar*_*rik 52
从Visual C#3.0开始,在方法范围声明的变量可以具有隐式类型var.隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型.以下两个声明i在功能上是等效的:
var i = 10; //implicitly typed
int i = 10; //explicitly typed
Run Code Online (Sandbox Code Playgroud)
var不是对象
你一定要读这个:C#3.0 - Var不是Object
小智 6
不 - var只是意味着你让编译器从用于为变量赋值的表达式中推断出类型.
这只是语法糖,让你减少输入 - 尝试制作类型" var" 的方法参数,看看会发生什么:]
所以如果你有一个像这样的表达式:
var x = new Widget();
Run Code Online (Sandbox Code Playgroud)
x将是类型Widget,而不是object.
其他答案是正确的,我只想补充一点,你可以实际将光标放在'var'关键字上,然后点击F12跳转到推断的类型声明.