Board logo

標題: [分享] C# 多維陣列 [打印本頁]

作者: Luc    時間: 2010-8-18 22:10     標題: C# 多維陣列

.Net Framework已內建許多強大的資料結構物件,
原生陣列語法使用到的機會並不高,不過它還是蠻重要的。

多維陣列分為規則與不規則兩種。
規則陣列的宣告方式是
int [ , ] array = new int[3, 3]; // 一個3x3的二維陣列

在宣告的時候可以順便初始化
int [ , ] array = new int[3, 3] { {1,2,3}, {4, 5, 6}, {7,8,9} };
也可以不宣告維度,會自動推論。
int [ , ] array = new int[,] { {1,2,3}, {4, 5, 6}, {7,8,9} }; // 效果一樣

存取方式是 array[1,1] = 10;
這種寫法看起來少了幾個[],若實際印出 array.Length 就會知道和C++有很大的差別。
作者: Luc    時間: 2010-8-20 13:18

不規則陣列的宣告方式
int [][] array = new int[3][];
概念就是陣列裡的陣列,每個維度都可以單獨配置
array[0] = new int[3];
array[1] = new int [5];
...

陣列初始化的語法,只要觀念清楚,不會很難
int [][] array = new int [][] {
    new int[] {1,2,3},
    new int[] {4,5,6},
    new int[] {7,8,9}
};

陣列的名稱只是參照,要透過這個參照去存取值之前,
一定事先配置過記憶體位置了。(new)
配置記憶體的時候,當然要知道個數有幾個,
若不是由設計師指定,就是從初始化的個數去推論。
作者: temple    時間: 2015-2-28 23:03

C#的陣列是物件, c++的不是




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)