-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 应用程序 C#

4

3 回答 3

7

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

于 2013-06-25T06:02:15.667 回答
0
List<Pellets> pellets = new List<Pellets>();

你的列表是空的,所以你的 foreach 循环什么都不做。

于 2013-06-25T06:03:22.970 回答
0
List<Pellets> pellets = new List<Pellets>();

此时您已经创建了一个空的新列表。您没有添加任何成员,因此当您尝试枚举它时,此列表仍然是空的。

于 2013-06-25T06:04:28.377 回答