2011-12-21 8 views
0

私はXNAで小さなRTSを開発しています。2つのハッシュテーブルを比較するには?

私は各ユニットの "goto"ポジションを移動先のベクトルとして設定しています。私は2つのハッシュテーブルを比較しないとすべてうまく動作しますが、そうすると、この "NullReferenceExceptionが処理されなかった"という迷惑なエラーが発生します。

は、ここでは、コードの一部です:あなたは(いくつかのハッシュ・テーブル内の不足しているエントリから)nullをキャストするとき

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"])) 
+2

ようになるはずですそして、あなたはクリーンなコードを書くことを学ぶ必要があります... – r2d2rigo

+0

さてさておかげで、行います。 –

答えて

3
  1. NullReferenceExceptionsがintまたはfloatに起こっています。あなたのコードを知らなければ、私は選択されたユニットのためにcgotoにエントリがないと推測する危険があります。

  2. 正しいオブジェクト指向の方法を学ぶ。コードは本当に

    if (selectedUnits[i].pos != selectedUnits[i].gotoPos) 
    
関連する問題