次の C# コードがあります。
List<int[,]> l1 = new List<int[,]>();
l1[0] = new int[1, 1];
System.ArgumentOutOfRangeException を正面からスローします。
どうして?
リストはデフォルトで空で作成されます[]
。Add()
List<int[,]> l1 = new List<int[,]>();
l1.Add(new int[1, 1]);
または .NET 4.0 初期化子を使用します (意味的には上記と同じ):
List<int[,]> l1 = new List<int[,]>(){new int[1, 1]};
インデックスアクセスではなく、リストでList.Addを使用する必要があります 。l1.Add(new int[1, 1]);