C#变量声明
在这两种声明(引入)变量的方法之间是否存在实际差异(速度、内存)?哪种方法更好 例1:C#变量声明,c#,variables,declaration,C#,Variables,Declaration,在这两种声明(引入)变量的方法之间是否存在实际差异(速度、内存)?哪种方法更好 例1: for (int i = 0; i < myObjects.Length; i++) { MyObject m = myObjects[i]; } for(int i=0;i
for (int i = 0; i < myObjects.Length; i++)
{
MyObject m = myObjects[i];
}
for(int i=0;i
例2:
MyObject m = null;
for (int i = 0; i < myObjects.Length; i++)
{
m = myObjects[i];
}
MyObject m=null;
for(int i=0;i
谢谢。性能方面的都编译到相同的IL,所以没有区别
第一个更好,因为您希望在每次迭代中都有一个新对象。此外,如果循环条件失败,则不需要对象。示例1使对象在for循环范围内的内存中仅处于“活动”状态 示例2使得在for循环完成执行后,
m
仍占用内存
我将使用示例1,这就是为什么:
(我不会详细地告诉你,强迫你阅读链接。)如果你打算只在循环中使用对象,最好只在循环中使用对象。对不起,我应该多搜索前面的问题。这似乎已经在前面的案例中得到了回答。为什么你认为它们编译成相同的IL?