C# 在使用時 array 時,要先宣告陣列大小。
若一開始不確定陣列大小,
想要使用時再動態增加大小,可以使用 List 來達成此效果
例如:
List<string> my1d; // 1維:List 裡面放不確定數量的 stirng
List<List<string>> my2d;// 2維:List 裡面放不確定數量的 List<string>
範例:以 List 做成類似 3維陣列,但每一維度,底下元素個數不固定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
/* 希望達成此效果 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 |