我在处理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#
答案 0 :(得分:7)
pellets
列表中不能包含103个元素,因为您在代码顶部创建了一个新列表,并且没有添加任何内容。
答案 1 :(得分:0)
List<Pellets> pellets = new List<Pellets>();
您的列表为空,因此您的foreach循环不执行任何操作。
答案 2 :(得分:0)
List<Pellets> pellets = new List<Pellets>();
此时您已创建一个空的新列表。您不添加任何成员,因此当您尝试枚举它时,此列表仍为空。