以下代码是否正确?
foreach (int i in MyList) { MyObject m; }
你能不止一次声明一个变量?
你没有多次宣布它 . 变量具有"scope", m 变量的范围在下一次迭代之前结束 } .
m
}
是 .
如果我正确地记住了我的C#,那么在执行时它只会被声明一次,但是该变量会被重用,直到范围结束(而不是每个循环结束) .
您可以在循环内声明变量 . 如果仅在循环内部需要它,则优选代码可读性 . 它可能对性能有害,但你只需要担心如果有问题的变量声明和实例化成本很高,或者你的列表非常大 .
3 回答
你没有多次宣布它 . 变量具有"scope",
m
变量的范围在下一次迭代之前结束}
.是 .
如果我正确地记住了我的C#,那么在执行时它只会被声明一次,但是该变量会被重用,直到范围结束(而不是每个循环结束) .
您可以在循环内声明变量 . 如果仅在循环内部需要它,则优选代码可读性 . 它可能对性能有害,但你只需要担心如果有问题的变量声明和实例化成本很高,或者你的列表非常大 .