【发布时间】:2010-12-17 21:40:07
【问题描述】:
【问题讨论】:
【问题讨论】:
已经有人在这里问过that question。总之,不,生成的IL代码是一样的。因此,没有性能命中。如果您想知道做某事的方式与另一种有何不同,只需编写一个示例,然后使用Reflector 来分析差异。
【讨论】:
不,var 只是语法糖。它实际上并没有被编译成 MSIL。尝试使用 var 关键字和不使用 var 关键字编译一些代码,然后在 Reflector 中打开程序集以亲自查看。
【讨论】:
由于这是一个编译时特性,可以想象编译时间可能会变慢,但运行时间不会变慢。
【讨论】:
此功能称为类型推断。编译器将在编译时推断出正确的类型,生成的 msil 将包含正确的类型
【讨论】:
他是指编译时还是运行时?
在运行时,不可能对性能造成影响。 var 关键字完全由编译器处理,完全不可能从 IL 判断是否使用了 var 关键字。您的朋友可能会想到 C# 4 的新 dynamic 关键字,它确实会对性能产生影响。
在编译时,可能会对性能产生微小的影响,但不必担心。
【讨论】: