位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 多維數(shù)組

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-04

    多維數(shù)組是使用多個(gè)索引訪問其元素的數(shù)組。例如,假定要確定一座山相對(duì)于某位置的高度,可使用兩個(gè)坐標(biāo)x和y來指定一個(gè)位置。把這兩個(gè)坐標(biāo)用作索引,讓數(shù)組hiUHeight可以用每對(duì)坐標(biāo)來存儲(chǔ)高度,這就要使用多維數(shù)組了。

    像這樣的二維數(shù)組可以聲明如下:

    <baseType>[,] <name>;

    多維數(shù)組只需要更多逗號(hào),例如:

    <baseType>[,,,] <name>;

該語句聲明了一個(gè)4維數(shù)組。賦值也使用類似的語法,用逗號(hào)分隔大小。要聲明和初始化二維數(shù)組hillHeight,其基本類型是double, x的大小是3, y的大小是4,則需要:

    double[,] hillHeight = new double[3,4];

還可以使用字面值進(jìn)行初始賦值。這里使用嵌套的花括號(hào)塊,它們之間用逗號(hào)分開,例如:

    double[,] hillHeight = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 } };

這個(gè)數(shù)組的維度與前面的相同,也是3行4列。通過提供字面值隱式定義了這些維度。

要訪問多維數(shù)組中的每個(gè)元素,只需要指定它們的索引,并用逗號(hào)分開,例如:

    hillHeight[2,1]

接著就可以像處理其他元素那樣處理它了。這個(gè)表達(dá)式將訪問上面定義的第3個(gè)嵌套數(shù)組中的第2個(gè)元素 (其值是4)。記住,索引從0開始,第一個(gè)數(shù)字是嵌套的數(shù)組。換言之,第一個(gè)數(shù)字指定花括號(hào)對(duì),第2個(gè)數(shù)字指定該對(duì)花括號(hào)中的元素。用圖來可視化地表示這個(gè)數(shù)組。






hillHeight [0,0]

 

hillHeight [0,1]


hillHeight [0,2]


hillHeight [0,3]



1


2


3


4







hillHeight [1,0]


hillHeight [1,1]


hillHeight [1.2]


hillHeight (1,3]



2


3


4


5







hillHeight (2,0]


hillHeight [2,1]


hillHeight [2,2]


hillHeight [2,3]



3


4


5


6


foreach循環(huán)可以訪問多維數(shù)組中的所有元素,其方式與訪問一維數(shù)組相同,例如:

double[,] hillHeight = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 )); 

foreach (double height in hillHeight)

{

    WriteLine($"{height}");

}

元素的輸出順序與賦予字面值的順序相同(這里顯示了元素的標(biāo)識(shí)符而非實(shí)際值):

hillHeight[0,0] 

hillHeight[0,l] 

hillHeight[0,2] 

hillHeight[0,3] 

hillHeight[1,0] 

hillHeight[1,1] 

hillHeight[1,2]

...


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部