foreach循环计数器不工作

时间:2013-06-25 05:58:57

标签: c# windows-8

我在处理foreach循环时遇到问题。我不确定为什么,但是当我调试它时,我的颗粒数等于零。它应该是103.当我运行程序时,它不会显示任何结果。我的代码中是否有遗漏的东西?

代码:

List<Pellets> pellets = new List<Pellets>();
bool gotPellet = false;
foreach (var pellet in pellets)
{
    if (pellet.Visibility == Visibility.Visible)
    {
        var rectPellet = pellet.GetRect(cnvMain);
        var pelletCellPoint = pellet.GetCellPoint();

        rectPacman.Intersect(rectPellet);
        gotPellet = true;

        pellet.Visibility = Visibility.Collapsed;

        AddPellet(pellet);
        mazeValues[(int)pelletCellPoint.X, (int)pelletCellPoint.Y] = ' ';
        break;
    }
}

我正在使用Windows 8 metro app c#

3 个答案:

答案 0 :(得分:7)

pellets列表中不能包含103个元素,因为您在代码顶部创建了一个新列表,并且没有添加任何内容。

答案 1 :(得分:0)

List<Pellets> pellets = new List<Pellets>();

您的列表为空,因此您的foreach循环不执行任何操作。

答案 2 :(得分:0)

List<Pellets> pellets = new List<Pellets>();

此时您已创建一个空的新列表。您不添加任何成员,因此当您尝试枚举它时,此列表仍为空。