C#var关键字用法

时间:2009-07-30 08:55:23

标签: c# styles

  

可能重复:
  What to use: var or object name type?
  Use of var keyword in C#
  What’s the point of the var keyword?
  Should I always favour implictly typed local variables in C# 3.0?

我刚刚安装了ReSharper的试用版,以便为我的公司进行评估。我注意到的一件事是建议我更改以下内容(编写示例):

string s = "";

var s = "";

在声明变量时,最好使用var关键字而不是使用Object Type吗?它给了什么优点。对于上下文,我是一名刚刚过渡到.Net的Java开发人员。

5 个答案:

答案 0 :(得分:29)

我认为使用var可以使代码更易于阅读,这对我来说意味着var正在替换的类型必须完全明显。

例如,这可以很好地利用var(人为的例子):

var thing = new Dictionary<int, KeyValuePair<string, int>>();

然而,这对var

的使用不好
var thing = GetThingFromDatabase();

答案 1 :(得分:12)

我发现在类型声明很长的某些情况下它很有用,例如:

Dictionary<int, string> item = new Dictionary<int, string>();

变为

var item = new Dictionary<int, string>();

答案 2 :(得分:8)

它相同,因为使用var关键字,变量是implicity类型,编译器在构建时推断类型。在大多数情况下,我更喜欢指定类型而不是使用var,因此我更改了resharper设置。

答案 3 :(得分:1)

我记得它Resharper只是说它可以这样写。它并没有说你应该。

很多建议只是我第一次看到它们时提出的建议......这就是其中之一。

另一个是,它说写“this.someProperty”是多余的,而我认为代码通过这样做更容易阅读。

答案 4 :(得分:0)

Resharper还建议将if语句转换为true或not true。 几乎相同的东西,但这取决于你的编码风格。 因此,当您发现使用var更舒适时 - 请使用此建议。