C#_List の二次元配列

要素へのアクセス方法が分からなくなったのでメモ。

List の一次元配列

List<int>[ ] testListT = new List<int>[ ]
{
    new List<int> {11, 22, 33},
    new List<int> {41, 52, 63},
    new List<int> {71, 82, 93},
    new List<int> {21, 32, 43},
};

List<int> a = testListT[0];
int aa = testListT[0][0];
int ab = testListT[0][1];
int ac = testListT[0][2];
//a の要素:{11, 22, 33}
//aa の要素:11
//ab の要素:22
//ac の要素:33

List<int> b = testListT[1];
int ba = testListT[1][0];
int bb = testListT[1][1];
int bc = testListT[1][2];
//b の要素:{41, 52, 63}
//ba の要素:41
//bb の要素:52
//bc の要素:63

 

List の二次元配列

List<int>[,] testList = new List<int>[,] {
    {
       new List<int> {100, 200, 300, 400},
       new List<int> {101, 102, 103, 104},
       new List<int> {201, 202, 203, 204},
    },
    {
       new List<int> {301, 302, 303, 304},
       new List<int> {401, 402, 403, 404},
       new List<int> {501, 502, 503, 504},
    },
};
List<int> aT = testList[0,0];
int aaT = testList[0, 0][0];
int abT = testList[0, 0][1];
int acT = testList[0, 0][2];
int adT = testList[0, 0][3];
//aT の要素:{100, 200, 300, 400}
//aaT の要素:100
//abT の要素:200
//acT の要素:300
//adT の要素:400

List<int> bT = testList[1, 2];
int baT = testList[1, 2][0];
int bbT = testList[1, 2][1];
int bcT = testList[1, 2][2];
int bdT = testList[1, 2][3];
//bT の要素:{501, 502, 503, 504}
//baT の要素:501
//bbT の要素:502
//bcT の要素:503
//bdT の要素:504

※ 二次元のイメージ

f:id:koshinRan:20170419030426j:plain

 

 以上。