C# 在循环内还是在循环外声明变量更好?

C# 在循环内还是在循环外声明变量更好?,c#,for-loop,C#,For Loop,可能重复: 考虑以下两个代码: Object i; for(int i=0;i<10;i++){ i = new Object(); } 对象i; 对于(int i=0;i我喜欢尽可能地限制变量的作用域。第一个选项将变量的作用域限制在整个包含函数中,而后者将变量的作用域限制在循环中。因此,我更喜欢后者,除非我在循环完成后显式需要访问变量。我不理解这个问题。这两个选项都是必不可少的除非某个对象的初始化代码包含一些副作用,否则几乎没有操作。@missingfaktor可能会以某种方

可能重复:

考虑以下两个代码:

Object i;
for(int i=0;i<10;i++){
    i = new Object();
}
对象i;

对于(int i=0;i我喜欢尽可能地限制变量的作用域。第一个选项将变量的作用域限制在整个包含函数中,而后者将变量的作用域限制在循环中。因此,我更喜欢后者,除非我在循环完成后显式需要访问变量。

我不理解这个问题。这两个选项都是必不可少的除非某个对象的初始化代码包含一些副作用,否则几乎没有操作。@missingfaktor可能会以某种方式使用
i
。这只是为了说明变量的范围。
for(int i=0;i<10;i++){
    Object i = new Object();
}