如何比较两个哈希表

本文关键字:哈希表 两个 比较 何比较 | 更新日期: 2023-09-27 18:18:24

我正在开发XNA的小型RTS。

我将每个单位的"goto"位置设置为它们应该去的向量。如果我不比较两个哈希表,一切都可以正常工作,但是当我这样做时,我得到这个"NullReferenceException was unhandled"令人讨厌的错误。

下面是这段代码:

if (((float)unit[(int)selectedunits[I+"ID"] + "posX"] != (float)cgoto[(int)selectedunits[I+"ID"] + "X"]) && ((float)unit[(int)selectedunits[I+"ID"] + "posY"] != (float)cgoto[(int)selectedunits[I+"ID"] + "Y"]))

如何比较两个哈希表

  1. NullReferenceExceptions发生时,你cast null(从一个缺失的条目在一些哈希表)到intfloat。在不了解您的代码的情况下,我冒昧地猜测cgoto中没有针对所选单元的条目。

  2. 学会用正确的面向对象的方式做事。代码应该看起来像

    if (selectedUnits[i].pos != selectedUnits[i].gotoPos)