如果我有以下循环:
foreach (string pass in new string[] { "pass1", "pass2", "pass3" })
{
x = pass; //etc
}
这个匿名字符串数组是最初创建一次,还是每次通过都重新创建一次?
我相信是前者,但同事们坚信这是一个等待发生的错误,因为他们说foreach循环的每次迭代都会导致一个新的字符串数组被创建。
VS反汇编代码表明我是正确的,但我想要确定。
我们研究这个的原因是为了尝试理解一个神秘的错误,报告说在迭代过程中集合已经被改变。
DateTime
值放入字符串中并检查每次迭代中的成员。 - Ofer Zelig