C# 在使用時 array 時,要先宣告陣列大小。
若一開始不確定陣列大小,
想要使用時再動態增加大小,可以使用 List 來達成此效果
例如:
List<string> my1d; // 1維:List 裡面放不確定數量的 stirng
List<List<string>> my2d;// 2維:List 裡面放不確定數量的 List<string>
範例:以 List 做成類似 3維陣列,但每一維度,底下元素個數不固定
/* 希望達成此效果 Array ( 0 => Array( 0 => Array("A1", "A2", "A3", "A4"), 1 => Array("B1", "B2", "B3") ), 1 => Array( 0 => Array("C1", "C2") ) ); */ List<List<List<string>>> my3d = new List<List<List<string>>>(); List<string> my1d; List<List<string>> my2d; // my2d = new List<List<string>>(); my1d = new List<string>(); my1d.Add("A1"); my1d.Add("A2"); my1d.Add("A3"); my1d.Add("A4"); my2d.Add(my1d); my1d = new List<string>(); my1d.Add("B1"); my1d.Add("B2"); my1d.Add("B3"); my2d.Add(my1d); my3d.Add(my2d); // my2d = new List<List<string>>(); my1d = new List<string>(); my1d.Add("C1"); my1d.Add("C2"); my2d.Add(my1d); my3d.Add(my2d); Console.WriteLine("my3d[0][0][2] = " + my3d[0][0][2]); // my3d[0][0][2] = A3 Console.WriteLine("my3d[0][1][0] = " + my3d[0][1][0]); // my3d[0][1][0] = B1 Console.WriteLine("my3d[1][0][1] = " + my3d[1][0][1]); // my3d[1][0][1] = C2 Console.WriteLine("my3d.Count = " + my3d.Count); // my3d.Count = 2 Console.WriteLine("my3d[0].Count = " + my3d[0].Count); // my3d[0].Count = 2 Console.WriteLine("my3d[1].Count = " + my3d[1].Count); // my3d[1].Count = 1 Console.WriteLine("my3d[0][0].Count = " + my3d[0][0].Count); // my3d[0][0].Count = 4 Console.WriteLine("my3d[0][1].Count = " + my3d[0][1].Count); // my3d[0][1].Count = 3 Console.WriteLine("my3d[1][0].Count = " + my3d[1][0].Count); // my3d[1][0].Count = 2
沒有留言:
張貼留言