C#初始化变量

JBo*_*one 0 c# resharper initialization visual-studio-2010

我在VS2010中编写c#并且已经测试了一个名为ReSharper的插件.根据我的经验,我觉得它可以清理代码并简化不必要的逻辑.然而,它在我的代码中找到的主要问题之一是我在初始化变量时.

Resparper建议初始化机智"var"

int i = 0  ----> var i = 0
           or...
MyClass1 MyClass = new MyClass(1)
Run Code Online (Sandbox Code Playgroud)

我一直认为使用var有一个轻微的开销,似乎很懒惰或松散的类型(虽然我确实它有一些优势).我一直在努力寻找是否有充分的理由来初始化这样的变量.Reshaper说使用var是一个有争议的问题,但它有很好的扩展用于初始化.有谁知道这可能会或不会是什么?

Bal*_*a R 7

显式变量类型用法与var只是一个偏好问题.您可以在resharper中将其关闭.

在此输入图像描述


Cha*_*ion 5

如果这是懒惰,那么我不想生产.

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

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