Я разрабатываю небольшую RTS в C# (с XNA).Как сравнить два Hashtables
Я устанавливаю каждое положение «goto» как вектор, которому они должны идти. Все работает нормально, если я не сравниваю два Hashtables, но когда я это делаю, я получаю эту «необработанную ошибку NullReferenceException» досадную ошибку.
Вот кусок кода, я получаю ошибку:
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"])
)
Надеюсь, это достаточно специфичны.
Как определяются единицы, selectedunits и cgoto? – Joe
Пожалуйста, покажите трассировку стека в 'NullReferenceException'. Это должно четко указывать, где ваша нулевая ссылка. –
Я бы предположил, что 'selectedunits [I +" ID "]' равно null. Пройдите через Visual Studio и проверьте значение во время выполнения. – Polynomial