var不是一种类型.这是一个方便的简写符号,可以为您节省大量的打字.以下两个声明是等效的:
Dictionary<string,List<int>> dic = new Dictionary<string,List<int>>();
Run Code Online (Sandbox Code Playgroud)
和
var dic = new Dictionary<string,List<int>>();
Run Code Online (Sandbox Code Playgroud)
如您所见,这样可以节省打字并且更易于阅读.如果您决定更改数据类型,则只需更改右侧部分.
但我最喜欢的地方是foreach循环:
foreach ( var item in someList )
Run Code Online (Sandbox Code Playgroud)
这里的项自动采用正确的类型,具体取决于someList的类型,它使您可以更改someList的类型,而无需更改项的声明.
简而言之:var是伟大的,应该使用.
编辑:不,您不能将var指定为函数的参数.我猜你最接近的是泛型.我也完全忘了提到匿名类型.有了那些你必须使用var.