如何编写和读取维列表数组?

时间:2015-11-25 09:04:37

标签: c# arrays unity3d

我使用此代码写入数组

但错误

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()(在Assets / Script / Word.cs:19)

我想使用List和数组分配的对象,但我找到了

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

一个错误,我做错了吗?

1 个答案:

答案 0 :(得分: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);