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

时间:2012-12-18 20:08:40

标签: 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];
            }

结果:

1201111002111111111

1 个答案:

答案 0 :(得分: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;
}

第一次循环播放位置1的项目2。第二次打印位置2的项目,即0。然后在位置0打印四次,1等等。