C# 中的多維數組 [][]
與 [,]
C# 提供兩種多維數組:鋸齒狀數組 ([][]
) 和統一數組 ([,]
)。
鋸齒狀數組
鋸齒狀數組是數組的數組。這意味著鋸齒狀數組中的每個元素都是一個值數組,這些值數組的長度可以不同。
統一數組
統一數組是具有固定維數和每個維數固定大小的數組。
示例
以下代碼創建了一個鋸齒狀數組:
<code class="language-csharp">double[][] ServicePoint = new double[10][];</code>
上面的代碼創建了一個包含 10 個元素的數組,其中每個元素都是對雙精度浮點數數組的引用。每個內部數組的大小可以不同。
選項 1 中的錯誤
以下代碼會產生語法錯誤:
<code class="language-csharp">double[][] ServicePoint = new double[10][9];</code>
發生此錯誤是因為在數組創建時指定了內部數組的大小,而鋸齒狀數組不允許這樣做。創建鋸齒狀數組的正確方法是僅指定外部數組的大小,然後分別為每個內部數組分配大小。
為統一數組行賦值
以下代碼會產生錯誤:
<code class="language-csharp">double[,] ServicePoint = new double[10, 9]; double[] d = new double[9]; ServicePoint[0] = d;</code>
發生此錯誤是因為無法整體賦值給統一數組。必須為各個元素賦值。要為單個元素賦值,必須指定行和列索引:
<code class="language-csharp">ServicePoint[0, 0] = d[0]; ServicePoint[0, 1] = d[1]; // ... //</code>
以上是C#多維數組:何時使用`[] []`(鋸齒)vs` [,]`(統一)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!