首页 新闻 会员 周边 捐助

关于c# var的问题

0
悬赏园豆:5 [已解决问题] 解决于 2014-07-28 16:20

请问var影响性能么?

 

比如

// int
var num1 = 1;
int num2 = 2;

// string
var str1 = "1";
string str2 = "2";

num1和num2的效率一样么?

str1和str2的效率呢?

 

再或者

int[] ints = { 1, 2, 3, 4 };
foreach (var num in ints){}


个人觉得应该是有影响的,

在知道类型的情况下我一般都不会去偷懒用var

 

是这样么?请详细说明

var
澈澈的主页 澈澈 | 菜鸟二级 | 园豆:440
提问于:2014-07-28 16:05
< >
分享
最佳答案
0

没有任何影响!!!这个只是编译阶段做的优化,编译结果是一模一样的

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2014-07-28 16:11

呃,明白

澈澈 | 园豆:440 (菜鸟二级) | 2014-07-28 16:19
其他回答(2)
0

这样看你说的影响性能中的性能是指代的什么了。

我想你应该是说的“运行时性能”,那么我可以告诉你没有影响,因为 var 语法的解释是编译时行为。

Launcher | 园豆:45050 (高人七级) | 2014-07-28 16:17

呃,明白

支持(0) 反对(0) 澈澈 | 园豆:440 (菜鸟二级) | 2014-07-28 16:19
0

var定义的变量,会在编译阶段编译成真正的数据类型,所以没有任何性能问题。.net编译器,它能根据“=”右边的代码推断出数据类型,并在编译时把var替换成真正的数据类型,但是像: var a = null;根据右边推断不出数据类型,它也会报错的,所以用var定义的变量其实是知道它的数据类型的。建议全部使用它!

junjieok | 园豆:779 (小虾三级) | 2014-07-28 16:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册