//Option 1:
int _a;
while (_running)
{
_a = _number;
while (_doingWork)
{
//work involving a
}
}
//Option 2:
while (_running)
{
int _a = _number;
while (_doingWork)
{
//work involving a
}
}
编辑:拿出选项3,我现在看到它无关紧要
主要问题:
其他问题:
事实:
编辑2:如果其他人偶然发现这个问题,我发现这是相关的: Difference between declaring variables before or in loop?
答案 0 :(得分:2)
C#在函数进入函数时为函数中的所有变量创建一个内存位置。如果你经历一个循环,它不会重新初始化内存位置,所以1和2完全相同。对于3,如果你需要每次都通过该循环设置它,那么这就是你需要的。否则在适当时设置它。并根据他们的范围应该是什么,而不是你认为有助于提高绩效。