【发布时间】:2011-09-02 06:41:36
【问题描述】:
ReSharper 通常会建议我这样做,我仍在寻找一个很好的理由说明为什么要这样做。
我唯一想到的是,将其声明为更接近将要使用的范围,可以避免在某些不需要的情况下初始化它(因为条件等)
与此相关的内容如下:
int temp;
foreach (var x in collection) {
temp = x.GetValue();
//Do something with temp
}
真的不一样吗
foreach (var x in collection) {
int temp = x.GetValue();
//...
}
我的意思是,第二个代码不是更昂贵,因为它每次都在分配内存吗?还是两者都一样?当然,循环结束后,在第二个代码中垃圾收集器会处理temp变量,但不是在第一个...
【问题讨论】: