2015-02-06 93 views
0

可以說我有一個這樣的數組:1索引與二維數組錯誤

byte[,] arr = new byte[4,4]; 
byte[] x = arr[0]; // error here 

怎麼來的,我不能做到這一點,錯誤即時得到:

Indexer has 2 parameters but is invoked with 1 argument 

感謝 丹尼爾

+0

你需要鋸齒狀的數組https://msdn.microsoft.com/en-us/library/2s05feca.aspx – pm100 2015-02-06 01:49:43

+2

什麼是不明確的錯誤?你有一個2d數組,如果你想索引一個元素,你需要指定兩個參數。 – 2015-02-06 01:50:06

+0

請參閱http://stackoverflow.com/questions/597720/what-are-the-differences-between-a-multidimensional-array-and-an-array-of-array – artm 2015-02-06 01:53:49

回答

0

你的arr數組是一個二維數組,所以想象一個網格。因此,您需要兩個索引才能訪問任何元素:行索引和列索引。

如果你想獲得整行,這看起來像你正在嘗試做的那樣,那麼你將需要使用交錯數組,如pm100所說的用戶。

// Initialize array size 
byte[][] arr = new byte[4][]; 
for (int i = 0; i < arr.GetLength(0); i++) 
    arr[i] = new byte[4]; 

// Grab the first row 
byte[] x = arr[0];