建立二維陣列的方法
型別[ , ] 陣列名稱 = new 型別[列數,行數];
型別[ , ] 陣列名稱 = new 型別[列數, 行數] { { , , ,} , { , , , } };
型別[ , ] 陣列名稱 = new 型別[ , ] { { , , ,} , { , , , } };
型別[ , ] 陣列名稱 = { { , , ,} , { , , , } };
/*方法1*/ /*指定維度,建立四列二行的二維int陣列, 可想成建立四樓2戶 (每一層樓都有2戶,故共有4個括號,裡面各有2個數字)*/
int[,] a = new int[4, 2]{ { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
可表示如下圖,第一維度是4,第二維度是2
a[0,0]=1 | a[0,1]=2 |
a[1,0]=3 | a[1,1]=4 |
a[2,0]=5 | a[2,1]=6 |
a[3,0]=7 | a[3,1]=8 |
/*方法2*/ //在宣告時進行初始化(給值),可以不需要指定陣列大小
int[,] a = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; /*方法3*/ //可以不初始化就宣告陣列變數,但將陣列指派給這個變數時,必須使用new
int[,] a; a = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK
二維陣列的存取
//假設有一 3x2 陣列,(三層樓,每一層樓有2戶) int[,] arr1 = new int[3,2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; /*方法1*/ //直接存取陣列元素 Response.Write(arr1[0,0]); /*方法2*/ //GetUpperBound方法--取得陣列中某一維度上限 /*註:第一維是3(樓層高度), 因arr1[0,1]、arr1[1,1]、arr1[2,1],故第一維的上限是2*/ for (int i = 0; i <= arr1.GetUpperBound(0); i++) { /*註:第二維是2(有幾「戶」),因arr1[1,0],arr1[1,1],故第二維上限是1*/ for (int j = 0; j <= arr1.GetUpperBound(1); j++) { Response.Write(arr1[i, j].ToString()); } } /*方法3*/ //GetLength方法--取得某一維度的長度(即元素個數) //GetLength(0)->得到第1維長度,是3(列數、樓層數) //GetLength(1)->得到第2維長度,是2(行數、戶數) for (int i = 0; i <= arr1.GetLength(0)-1; i++) { for (int j = 0; j <= arr1.GetLength(1)-1; j++) { Response.Write(arr1[i, j].ToString()); } } /*方法4*/ //用foreach迴圈 foreach (int i in arr1) { Response.Write(i); } //註:arr1.Length會得到元數總個數6
資料來源:
MSDN 陣列教學課程(2003)http://msdn.microsoft.com/zh-TW/library/aa288453(v=vs.71).aspx
MSDN 多維陣列(2012)http://msdn.microsoft.com/zh-tw/library/2yd9wwz4.aspx
綠色進行式:[C#] 陣列(Array)基本用法 http://blog.yehyeh.net/?p=525
c# 中使用foreach和for遍历 一维数组; 二维数组; 交错数组 http://zhidao.baidu.com/question/214951707.html
圖解說三維陣列 http://www.flag.com.tw/book/cento-5105.asp?bokno=F2733&id=980
全站熱搜
留言列表