Хорошо, поэтому я пытаюсь получить двумерный массив для сериализации в файле XML и затем загрузить его.Основная часть работает, но я обнаружил (возможно, ложно), что вы не можете использовать 2d-массив в программах чтения и записи конвейера контента.Я заменил 2d массив на List<List<string>>
, но мне все еще нужны данные в виде 2d массива.Это то, что у меня есть, но оно выдает исключение нулевой ссылки:
TILArray = new string[Width, Height];// I do initialize the array
for (int x = 0; x < Width; x++)
{
for (int y = 0; y < Height; y++)
{
if (TILList[x][y] != null)
{
Tiles[x, y] = Content.Load<Tile>(TILList[x][y]);
TILArray[x, y] = TILList[x][y];// This line throws the exception
}
}
}
Должно ли оно давать мне исключение нулевой ссылки, если я пытаюсь назначить его?Также, если кто-нибудь знает, как использовать 2d-массивы непосредственно в программе чтения и записи конвейера контента, я был бы признателен за это
Редактировать: Исключение:
An unhandled exception of type 'System.NullReferenceException' occurred in TileEngine.dll
Additional information: Object reference not set to an instance of an object.
Редактировать: Ну, я продолжал тестироватьэто и кажется, что это только выдает исключение, когда это в цикле.Когда я пытаюсь установить TILArray [0,0] вне цикла, он работает нормально, но в цикле он не работает и выдает исключение.
Edit: WOW, я просто обнаружил, что еслиЯ перемещаю строку, которая выдает исключение над этой строкой:
Tiles[x, y] = Content.Load<Tile>(TILList[x][y]);
Это говорит о том, что исключение было сгенерировано в строке, содержащей только }
!
![Screenshot](https://i.stack.imgur.com/RLpVd.png)
РЕДАКТИРОВАТЬ: я провел еще несколько тестов и обнаружил, что проблема не в копировании массива. когда я закомментирую строку, выдавшую исключение, он все равно ее выбрасывает!Есть ли что-нибудь, из-за чего игра выдает исключение NullReference из строки, где даже нет кода?