【问题标题】:Pros & Cons of var datatype in .net 3.5 [duplicate].net 3.5 中 var 数据类型的优缺点 [重复]
【发布时间】:2010-10-19 11:51:45
【问题描述】:

可能的重复:
Use of var keyword in C#
Use of “var” type in variable declaration

大家好,

“需要显式类型转换的 Var 键工作 尽可能避免装箱和拆箱值类型。”

是否建议使用 var 关键字而不是显式数据类型?

【问题讨论】:

  • var 不是 .NET 中的数据类型,您放在双引号内的短语绝对没有意义。

标签: c# keyword var


【解决方案1】:

来自ReSharper Horizons blog

  1. 它可以更好地命名局部变量。当您阅读具有显式类型的局部变量声明时,您将获得更多信息 那一刻和“IUnitTestElement current”之类的东西是有道理的。 但是,稍后使用此局部变量时,您会读取“当前” 这需要一些时间来弄清楚含义。使用“变量 currentElement" 让您在任何地方都更容易阅读。

  2. 它引入了更好的 API。当你让编译器从方法返回类型或属性类型推断类型时,你必须有好的类型 第一名。当您在 初始化表达式,你必须为成员取最好的名字。

  3. 它会引发变量初始化。在声明中初始化变量通常是一个好习惯,编译器需要 初始化器推断用“var”声明的局部变量的类型 关键字。

  4. 它消除了代码噪音。在很多情况下,隐式键入 local 会减少开发人员需要阅读的文本量,或者 而是跳过。从新对象表达式声明局部变量或 如果我们不使用“var”,强制转换表达式需要两次指定类型。 使用泛型可能会导致大量冗余代码。 另一个例子是 foreach over 中的迭代变量 字典。

  5. 它不需要 using 指令。使用 var,您没有对类型的显式引用,因为编译器会为您推断类型,所以您 需要临时变量时不需要导入命名空间。

缺点是可能不太可读的代码。例如线 int myInt = 0; 对大多数人来说仍然比 var myInt = 0; 但这主要是由于我们多年来一直在研究的语法。

【讨论】:

    【解决方案2】:

    var 不是数据类型,它只是“let-the-compiler-infer-at-compile-time-what-actual-type-to-use”的“语法糖”。

    所以,你只需要了解以下类型推断:

    var x = 4; //int
    var y = 4.0; //double
    var z = 4M; //decimal
    var w = (string)null; //string
    

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2011-08-02
      相关资源
      最近更新 更多