使用foreach读取列表得到另一个结果

Raf*_*per -1 c#

为什么我得到这个结果?

码:

List<int> samba = new List<int>(new int[]
            {1,2,0,0,0,0,3,2,1,
             0,0,0,0,0,0,0,0,0,
             });
  foreach (int i in samba)
            {
                label1.Text += samba[i];
            }
Run Code Online (Sandbox Code Playgroud)

结果:

1201111002111111111
Run Code Online (Sandbox Code Playgroud)

Ser*_*rvy 8

也许您不是要在当前项目的索引处打印出项目,而是打印出当前项目:

List<int> samba = new List<int>(new int[]
{1,2,0,0,0,0,3,2,1,
    0,0,0,0,0,0,0,0,0,
    });
foreach (int i in samba)
{
    label1.Text += i;
}
Run Code Online (Sandbox Code Playgroud)

第一次通过你的循环你打印出位置的项目1,这是2.第二次在位置打印出项目2,即0.然后你打印出位置0四次的项目,那是1等等.