【问题标题】:ReSharper: Visual Studio : warning use VAR [duplicate]ReSharper:Visual Studio:警告使用 VAR [重复]
【发布时间】:2011-07-13 06:40:15
【问题描述】:

可能的重复:
What's the point of the var keyword?
ReSharper and var

我正在使用 ReSharper 工具进行代码清理。 它总是提示使用var instated 的实际类型名称。 它看起来不错,但有什么优点吗?

例子:

当我们使用

Dictionary<long, Profile> dicProfile = new Dictionary<long, Profile>

提示将其转换为 ::

 var dicProfile = new Dictionary<long, Profile>

【问题讨论】:

    标签: c# var


    【解决方案1】:

    当可以推断出类型时,ReSharper 有两种类型的警告。当变量的类型与实例化类型完全相同时,您会得到一条波浪线:

    Dictionary<long, Profile> dicProfile = new Dictionary<long, Profile>();
    

    当变量的类型是实例化类型的基类(如本例中的IDictionary&lt;&gt; 接口)时,您会得到一个较短的下划线:

    IDictionary<long, Profile> dicProfile = new Dictionary<long, Profile>();
    

    你是否想要这个,是个人喜好。我喜欢这个特性,尤其是在第一种情况下,因为在可以推断变量的类型时显式声明变量的类型对我来说似乎是多余的。

    如果你不想要这个,你可以去这里关闭它:

    ReSharper -> 选项 -> 代码检查 -> 检查严重性 -> 语言使用机会 -> 在初始化程序显式声明类型时使用 'var' 关键字

    这里:

    ReSharper -> 选项 -> 代码检查 -> 检查严重性 -> 语言使用机会 -> 尽可能使用“var”关键字

    【讨论】:

      【解决方案2】:

      相当多的更清晰的选项是基于意见的。

      • 使用 var 代替实际的类型名称。
      • 无论 == true 都是多余的。
      • 这个。是多余的
      • 等等..

      您可以在重新锐化器设置中或在提示您时将它们全部打开。

      【讨论】:

      • 实际上他们在博客上的某个地方同意这一规则非常有争议。我讨厌它;)
      • 我认为 'var' 是最近更好的语言改进之一。这是废话: Dictionary, IEnumerable> stuff = new Dictionary, IEnumerable>(); var 让它变得更好。
      • 我喜欢 var - 用于匿名类型。我通常总是对所有变量进行硬编码。
      • 我想问题是为什么 var 比实际数据类型更受欢迎。
      【解决方案3】:

      这取决于你,如果你想遵循更清晰的建议。

      但 Re-sharper 确实可以帮助 .net 开发人员:

      clean you codes 
      promotes coding standards
      fix syntax/refactor
      remove  redundancy object declarationy using var: 
      
      Object data = new Object to  
      var data = new Object()
      
       And Many More..
      

      Same Post

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-21
        • 2018-07-05
        • 1970-01-01
        • 2013-02-23
        • 2012-12-14
        • 2012-02-08
        • 2018-03-27
        • 2018-03-31
        相关资源
        最近更新 更多