列表计数在事件处理程序中为0,但在更新中为3

本文关键字:更新 事件处理 程序 列表 | 更新日期: 2023-09-27 18:17:12

我已经创建了一个事件处理程序,在每次更新时调用它进行测试。我的问题是,当我在类中找到列表的计数时,它在事件处理程序中为0,但在更新方法中为3。为什么会发生这种情况,如果我不修改列表的任何地方,但在LoadContent方法?

事件处理程序代码:

if (MaxTiles.X * row + col < TileList.Count)
{
    selectedTileIndex = (int)(row * MaxTiles.X + col);
    System.Diagnostics.Debug.WriteLine(selectedTileIndex.ToString());
}
System.Diagnostics.Debug.WriteLine(TileList.Count);
编辑:当我从对象本身调用它时,我已经测试了该方法,它给了我一个3的计数!关于c#事件,还有什么我不知道的吗?

编辑:如果它有帮助,事件正在另一个类中触发。

编辑:我发现了一个(非常臭的)解决方案,但我很好奇为什么会发生这种情况。

列表计数在事件处理程序中为0,但在更新中为3

对于这样的事情有更多的信息可能会有所帮助,但是我将在黑暗中拍摄。

也许你第一次在事件处理程序中查看它时,它刚刚被实例化?如果没有调用LoadContent事件,则抛出一个断点并尝试逐步执行该过程可能会有所帮助。