<分区>
哪个声明变量更好或更快?
var ds = new Class1();
或
Class1 ds = new Class1();
我自己认为第二个应该更快,因为编译器不需要寻找类型 Class1
,但是像 ReSharper
这样的一些插件总是通知我改变 Class1
到 var
.
谁能解释一下为什么?
<分区>
哪个声明变量更好或更快?
var ds = new Class1();
或
Class1 ds = new Class1();
我自己认为第二个应该更快,因为编译器不需要寻找类型 Class1
,但是像 ReSharper
这样的一些插件总是通知我改变 Class1
到 var
.
谁能解释一下为什么?
最佳答案
它们编译为相同的 IL,因此两者都不会更快。但是,可读性可能会有很大差异。
我倾向于支持显式声明变量的类型,但如果出现以下任何情况,则使用var
:
与许多可读性问题一样,关于在何处使用 var
存在广泛的意见 - 从“无处”到“无处不在”。请注意,您可以在选项中更改 ReSharper 为您推荐的内容。 (我似乎记得默认情况下它会双向“推荐” - 所以实际上它只是让您更容易切换。)
几个答案提到了涉及的击键次数。我认为这是支持 var
的最糟糕可能的理由。我很少(如果有的话)在打字速度上遇到瓶颈。我的编码速度在很大程度上取决于我对问题领域的理解,以及我对解决方案的想象有多清晰。我宁愿输入 2000 次击键,但最终得到一个优雅的设计,实际上用 100 个字符表示,而不是键入仅仅 500 次击键以获得可读性较差的 500 字符设计。想想花在阅读代码上的时间,而不是打字的技巧。
关于c# - 哪一个更好? "var"还是 "DataType"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858484/