如何比较两个哈希表
本文关键字:哈希表 两个 比较 何比较 | 更新日期: 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"]))
-
NullReferenceExceptions发生时,你cast
null
(从一个缺失的条目在一些哈希表)到int
或float
。在不了解您的代码的情况下,我冒昧地猜测cgoto
中没有针对所选单元的条目。 -
学会用正确的面向对象的方式做事。代码应该看起来像
if (selectedUnits[i].pos != selectedUnits[i].gotoPos)