可能重复VAR数据类型的缺点:
Use of var keyword in C#
Use of “var” type in variable declaration赞成&.NET 3.5中
大家好,
“瓦尔keywork它需要明确的类型转换避免在可能的情况下装箱和取消装箱价值类型。“
建议使用var关键字而不是显式数据类型?
可能重复VAR数据类型的缺点:
Use of var keyword in C#
Use of “var” type in variable declaration赞成&.NET 3.5中
大家好,
“瓦尔keywork它需要明确的类型转换避免在可能的情况下装箱和取消装箱价值类型。“
建议使用var关键字而不是显式数据类型?
它诱导局部变量命名更好。当你用显式类型读取局部变量声明时,当前有更多的信息在 ,类似于“IUnitTestElement current”的意思。 但是,稍后使用此局部变量时,您会看到“当前” ,这需要一些时间才能找出含义。使用“var currentElement”可以更容易在任何地方阅读。
它诱导更好的API。当你让编译器从方法返回类型或属性类型中推导出类型时,你必须在 中有好的类型。如果 初始化表达式中没有显式类型,则必须为成员指定最佳名称。
它引发变量初始化。在声明中初始化变量通常是一个好习惯,编译器需要 初始值设定项来推断用“var” 关键字声明的局部变量的类型。
它消除了代码噪声。有很多情况下,当隐式类型化本地会减少文本开发人员需要阅读的文本量,或者跳过。如果我们不使用“var”,则从新对象表达式或局部变量声明局部变量需要指定两次类型。使用泛型会导致很多其他冗余代码。 另一个例子是在 字典中的foreach中迭代变量。
它不需要使用指令。使用var,你没有明确的类型引用,因为编译器为你推断输入类型,所以当你需要一个临时变量时,你不需要导入名字空间。
的缺点是潜在更少可读代码。例如 int myInt = 0;
int myInt = 0;
对于大多数人来说比 var myInt = 0;
更直接,但这主要是由于我们多年来一直在寻找的语法。
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
'var'是不是在.NET中的数据类型,你把双引号中的短语使得完全没有意义的。 – 2010-10-19 11:54:38