可能重复:
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开发人员。
答案 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更舒适时 - 请使用此建议。