2013-07-15 33 views
2

我是一名python人,最近開始學習C#,主要是通過我找到的教程和代碼片段。我碰到一個函數(一個公共類中)就與此簽名:<type> [,] <name> C中的表示法#

private void compute(double[,] data) 

我瞭解那裏的一切,除了double[,] data
它似乎與double[] data表示法類似,意思是「一組double s」。但是,[,]正在拋棄我。

有人請向我解釋一下這個語法表達的是什麼?

回答

1

這意味着2D非交錯的數組。double s在這種情況下。

基本上,您可以使用兩個座標獲取存儲系統。像地圖一樣。弱智,你可以說這是這樣的:

 
4 5 6 4 
2 3 4 3 
2 4 7 2 
2 3 4 2 

這句法是膨脹的,因此,例如double[,,]將意味着一個三維陣列,double[,,,]將意味着四維陣列等

創建它們,你使用此語法:

double[,] myArr = new double[4,23]; 

要提取他們的項目,使用此語法:

myArr[3,6]; 
+0

據我所知,我可以用'n-1''來表示一個n維非鋸齒陣列。但對於大''',這是很多逗號。有沒有相關的速記,可能是10D的'double [,10]'? – inspectorG4dget

+0

@ inspectorG4dget不,沒有。這將是無用的,因爲當你提取一個值時,你仍然需要輸入'myArray [4,2,3,5,76,2,43]等等。 –

+1

畢竟沒有人使用'double [,,,,,,,,,]'所以誰在乎速記? –