什么时候应该在c#中使用var类型?

CJ7*_*CJ7 4 c# types

可能重复:
var关键字有什么意义?

什么是var类型,应该在c#中使用?什么时候应该使用?

你能为方法的参数指定var类型吗?

Dan*_*röm 6

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.