C#var关键字用法

Jac*_*ack 12 c# styles

可能的重复:
使用什么:var或对象名称类型?
在C#中使用var关键字var关键字
的重点是什么?
我是否应该总是喜欢在C#3.0中隐含类型的局部变量?

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

string s = "";
Run Code Online (Sandbox Code Playgroud)

var s = "";
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*ant 29

我觉得var在使代码更容易阅读的地方使用它是好的,对我来说这意味着var替换的类型必须是完全明显的.

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

var thing = new Dictionary<int, KeyValuePair<string, int>>();
Run Code Online (Sandbox Code Playgroud)

然而,这将是一个很糟糕的用途var:

var thing = GetThingFromDatabase();
Run Code Online (Sandbox Code Playgroud)


Cod*_*ker 12

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

Dictionary<int, string> item = new Dictionary<int, string>();
Run Code Online (Sandbox Code Playgroud)

var item = new Dictionary<int, string>();
Run Code Online (Sandbox Code Playgroud)


Cha*_*lie 8

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

  • -1:提问者如何判断,并想知道决定坠落方向的依据。 (2认同)