Возможно ли сохранить класс, содержащий список внутри массива?Сохранение списков внутри массива
У меня возникли проблемы с этой концепцией.
Вот мой код:
Мой класс под названием "arrayItems":
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EngineTest
{
[Serializable] //List olarak save etmemiz için bu gerekli.
public class arrayItems
{
public List<items> items = new List<items>();
}
}
Вот определение моего массива под названием "tileItems":
public static arrayItems[, ,] tileItems;
Вот как я создаю мой массив :
Program.tileItems = new arrayItems[Program.newMapWidth, Program.newMapHeight, Program.newMapLayers];
Проблема, с которой я сталкиваюсь, заключается в том, что содержимое моего массива равно null. И я получаю эту ошибку:
Object reference not set to an instance of an object.
Когда я пытаюсь заполнить список внутри массива с помощью команды Добавить() я получаю ту же ошибку.
Можете ли вы направить меня в правильном направлении, пожалуйста? Спасибо заранее.
Вы экземпляр массива 'titleItems', поэтому пространство для' arrayItems' ссылки были выделены, но, вы не установили ссылки на действительные экземпляры классов 'arrayItems'. – Jodrell
Быстрое обходное решение состояло бы в том, чтобы изменить 'public class arrayItems' на' public struct arrayItems', тогда 'arrayItems' будет тогда типом значения, а не ссылочным типом. Однако это может иметь другие нежелательные побочные эффекты. – Jodrell