Попытка построить массив списков структур в C #.И получение System.NullReferenceException с наилучшей попыткой (ошибка в строке test[i].Add(info1);
)
Вопрос не в том, как избежать System.NullReferenceException привсе, но больше похоже на то, как быстро создать массив списков с предопределенным размером массива, чтобы можно было использовать array[i].Add(Struct)
в нем.Если это возможно, без зацикливания всего массива, просто для создания списков.
Итак, вот требования:
- размер массива должен быть предопределен;
- номера списков на узел должны быть произвольными, и должна быть возможность их легкого добавления;
- структура должна содержать
struct Info
.
Это код, которым я управлял до сих пор (копирование и вставка должны работать, чтобы повторить ошибку):
using System.Collections.Generic;
class Startup
{
static void Main()
{
int entry = 1233;
List<Info>[] test = new List<Info>[entry];
for (int i = 0; i < 500 ; i+=3)
{
Info info1 = new Info()
{
capacity = i * 2,
name = i.ToString()
};
test[i].Add(info1);
}
for (int i = 0; i < 1000; i+=5)
{
Info info2 = new Info();
info2.capacity = i * 2;
info2.name = i.ToString() + i.ToString();
test[i].Add(info2);
}
}
struct Info
{
public int capacity;
public string name;
}
}