可能的重复:
在C#中使用var关键字
在变量声明中使用"var"类型
大家好,
"Var键工作需要明确地进行类型转换尽可能避免装箱和拆箱值类型."
是否建议使用var关键字而不是显式数据类型?
它可以为局部变量提供更好的命名.当您使用显式类型读取局部变量声明时,此时您将获得更多信息,并且"IUnitTestElement current"之类的内容是有意义的.但是,当稍后使用此局部变量时,您会读取"当前",这需要一些时间来确定其含义.使用"var currentElement"可以更容易地在任何地方阅读.
它引发了更好的API.当您让编译器从方法返回类型或属性类型中推断出类型时,您必须首先拥有良好的类型.如果初始化表达式中没有显式类型,则必须具有成员的最佳名称.
它引发变量初始化.在声明中初始化变量通常是一个好习惯,编译器需要初始化器来推断用"var"关键字声明的局部变量的类型.
它消除了代码噪音.有很多情况,当隐式键入local会减少文本开发人员需要阅读的数量,或者更确切地说是跳过.如果我们不使用"var",则从新对象表达式或强制转换表达式声明局部变量需要指定类型两次.使用泛型可能会导致许多其他冗余代码.另一个例子是foreach over Dictionary中的迭代变量.
它不需要使用指令.对于var,您没有明确的类型引用,因为编译器会为您推断类型,因此在需要临时变量时无需导入命名空间.
缺点是可能不太可读的代码.例如,int myInt = 0;
对于大多数情况来说,这条线
仍然更直接,
var myInt = 0;
但这主要是由于我们多年来一直在研究的语法.
var 不是数据类型,只是“让编译器在编译时推断要使用的实际类型”的“语法糖”。
因此,您只需要了解以下类型推断:
var x = 4; //int
var y = 4.0; //double
var z = 4M; //decimal
var w = (string)null; //string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7446 次 |
| 最近记录: |