【发布时间】:2011-04-16 15:04:56
【问题描述】:
我在 Visual Studio 中使用 resharper。每次我创建类实例时,resharper 都建议我使用 var 而不是确切的类类型。为什么使用 var 运算符更合适?
【问题讨论】:
-
我注意到“var”不是运算符。它是一个局部变量类型说明符。
我在 Visual Studio 中使用 resharper。每次我创建类实例时,resharper 都建议我使用 var 而不是确切的类类型。为什么使用 var 运算符更合适?
【问题讨论】:
ReSharper 建议您通过 context action 使用 var。
ReSharper 中的上下文操作(通常由铅笔图标指定)与 IntelliJ IDEA 中的意图操作非常相似,如果您愿意,您可以使用它,但这并不是强制性的。这与专门用于修复 ReSharper 发现的代码问题的 quick-fix(黄色或红色灯泡)相反。
当 ReSharper 用户看到 ReSharper 建议使用 var,然后(一旦您接受该建议)再次建议使用显式类型说明符时,ReSharper 用户一次又一次地感到震惊。但考虑到上下文动作的性质,像这样拥有一对相反的上下文动作是完全可以的,ReSharper 有很多这样的动作。
如果您不希望 ReSharper 显示此特定上下文操作,可以在 ReSharper > 选项 > [语言] > 上下文操作中将其关闭
【讨论】:
对于初学者来说,重复更少。你更喜欢哪一个:
IDictionary<string, object> foo = new SortedDictionary<string, object>();
或
var foo = new SortedDictionary<string, object>();
就个人而言,我发现后者更具可读性。
【讨论】: