我的一个编程哲学是在变量真正第一次被使用之前定义它。比如定义变量'x'的方式,我一般不会这样写代码:
var total =0;
var x;
for(int i=0;i<100000;i++)
{
x = i;
total += x;
}
相反,我更喜欢这样:
var total = 0;
for(int i=0;i<100000;i++)
{
var x = i;
total = +x;
}
这只是一个示例代码,不要关心代码的真正含义。
第二种方式有什么缺点?性能?
最佳答案
除非您真的真的需要,否则不要为性能而烦恼(提示:99% 的时间您不需要)。
我一贯的理念(已被《可读代码的艺术》等书所证实)是在尽可能小的范围内声明变量。原因是就可读性和代码理解而言,您在任何时候必须考虑的变量越少越好。在较小的范围内定义变量肯定有助于此。
此外,如果编译器能够确定(在您的示例中)将变量移出 for 循环以节省每次迭代都必须创建/销毁它的时间,则通常不会改变结果,但会有所帮助性能他会为你做。这是不关心性能的另一个原因,编译器通常比我们更聪明。
关于c# - 在第一次使用之前声明变量有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17386326/