2015-11-25 2 views
0

Я использую этот код, чтобы записать в массивКак написать и прочитать массив размерного списка?

Но ошибка

void Start() 
{ 
    List<int>[,] li = new List<int>[8,5]; 
    li[0,0].Add(15); //error in here 
    Debug.Log(li[0,0][0]); 
} 

Это сообщение об ошибке,

NullReferenceException: Ссылка на объект не указывает на экземпляр объекта Word.Start() (at Assets/Script/Word.cs: 19)

Я хотел Использование список и массивы выделяются объекты, но я нашел

li[0,0].Add(15);

Ошибки, я сделал это неправильный путь?

ответ

2

Вы должны создать экземпляр List<int>:

// create a list, add 15 to it and put the list into [0, 0] cell 
li[0, 0] = new List<int>(){15}; 

Поскольку List<int>[,] li = new List<int>[8,5]; создает массив только и наполняет его null с. Вы можете создать все списки в цикле, а затем безопасно использовать Add:

List<int>[,] li = new List<int>[8,5]; 

    for (int r = 0; r < li.GetLength(0); ++r) 
    for (int c = 0; c < li.GetLength(1); ++c) 
     li[r, c] = new List<int>(); 

    li[0,0].Add(15); 
+0

хорошего объяснение –

+0

Данные рабочее Спасибо: D – user5509470

+0

Я думаю, что «Список [,] а = нового список [8, 5]; »завершил экземпляр, но не сделал этого, спасибо за вашу помощь и объяснения: D – user5509470

Смежные вопросы