多維數組:行數和列數在定義時已肯定html
string[,] arr = new string[2, 3]; arr[0, 0] = "座標:1-1"; arr[0, 1] = "座標:1-2"; arr[0, 2] = "座標:1-3"; arr[1, 0] = "座標:2-1"; arr[1, 1] = "座標:2-2"; arr[1, 2] = "座標:2-3"; int m = arr.GetLength(0); // 行數 int n = arr.GetLength(1); // 列數 StringBuilder str = new StringBuilder(); // 相似於String類型變量 for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { str.Append(arr[i, j] + " "); } } Console.WriteLine(str.ToString());
鋸齒數組:行數肯定,列數不定,數組裏套數組。數組
int[][] arr = new int[3][]; arr[0] = new int[] { 1, 2, 3, 4 }; arr[1] = new int[] { 100 }; arr[2] = new int[] { 10, 20, 30 }; foreach (int[] i in arr) { foreach (int x in i) { Console.WriteLine(x); // 遍歷全部元素 } } Console.WriteLine(arr[2][2]); // 訪問單一元素,注意和多維素組的差異,會輸出30
①克隆數組,就是複製一份新的post
int[] arr = new int[] { 1, 2, 3, 4}; int[] arr2 = (int[])arr.Clone(); for (int i = 0; i < arr2.Length; i++) { Console.Write(arr2[i]); }
命名空間:using System.Collections;ui
ArrayList就是傳說中的動態數組,它能夠動態的增長和減小元素,另外它能夠存儲任意個數和任意類型的元素。htm
ArrayList list = new ArrayList(); // 聲明變量 list.Add(2); list.Add("北京"); list.Add(new int[] { 2, 4, 6 }); list.Add("南京"); list.Add(3); foreach (var p in list) { Console.Write(p.ToString() + " | "); // 輸出:2 | 北京 | System.Int32[] | 南京 | 3 | }
元素類型相同的轉換對象
ArrayList list = new ArrayList(); list.Add(1); list.Add(2); list.Add(3); // 轉換方式1:ToArray() int[] list2 = (int[])list.ToArray(typeof(int)); // 轉換方式2:CopyTo() int[] list3 = new int[list.Count]; list.CopyTo(list3);
元素類型不一樣的轉換blog
ArrayList arr = new ArrayList(){ "北京", 1}; //往數組中添加不一樣類型的元素 object[] arr2 = (object[])arr.ToArray(typeof(object)); //正確 string[] arr3 = (string[])arr.ToArray(typeof(string)); //錯誤