多次元配列は new しなおさないとサイズを変更できませんので、コレクションクラスを使いましょう。 多次元配列の代替なら、ネストしたリストか、カスタムクラスをキーにしたディクショナリにするのがよいと思います。 // ネストしたリスト List<List<int>> list = new List<List<int>>(); // 登録はこんな感じ list1 = new List<int>(); list1.Add(10); list1.Add(20); list1.Add(30); list.Add(list1); list2 = new List<int>(); list2.Add(40); list2.Add(50); list2.Add(60); list.Add(list2); // 取りだすときはこんな感じ int result = list[0][1]; // 20 が取れる