C#二維陣列的定義,初始化(重在理解兩者的區別)
阿新 • • 發佈:2019-01-22
在學習C++基礎知識之後 , 現在學習C#其實簡單很多,但是還是有些不同的,就比如C#中二維陣列的定義、宣告 都 是有所不同的。
下面看看有什麼不同:
從上面的C#程式碼可以看出,C#有兩種不同的定義二維陣列的方式,當然兩者的區分上面已經說得很清楚了,不懂的話copy下來執行一遍,對比一下。using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 二維陣列 { class Program { static void Main(string[] args) { //二維陣列: //規則二維陣列的定義和初始化 int[,] Arr = new int[2, 5] { { 1, 2, 3, 5, 6 }, { 1, 2, 3, 4, 5 } }; Console.WriteLine("規則二維陣列的輸出:"); for (int i = 0; i < 2; ++i) { for (int j = 0; j < 5; ++j) { Console.Write(Convert.ToString(Arr[i,j]) + " "); } Console.WriteLine(); } Console.WriteLine("----------------"); //不規則二維陣列 int [][] arr = new int [3][ ]; //表示含有三個一維陣列的陣列 arr[0] = new int[5]{1,2,3,4,5}; arr[1] = new int [2]{0,1}; arr[2] = new int[0] { }; Console.WriteLine("輸出方法一:"); for (int i = 0; i < 2; ++i) { for (int j = 0; j < 5; ++j) { Console.Write(Convert.ToString(Arr[i, j]) + " "); } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine("輸出方法二:"); for (int ii = 0; ii < arr.Length; ++ii)// arr.Length是 3可以看出arr是包含三個一維陣列的陣列 { foreach (int j in arr[ii]) { Console.Write(j+ " "); } Console.WriteLine(); } Console.ReadKey(); } } }
還有C++在定義二維陣列的時候,當然是必須寫出
陣列的'列數',而C#的不規則二維陣列可以理解為 儲存一維陣列的陣列