首頁 >後端開發 >C++ >C#多維數組:`[] [] vs` [,]` - 有什麼區別?

C#多維數組:`[] [] vs` [,]` - 有什麼區別?

Barbara Streisand
Barbara Streisand原創
2025-01-24 11:21:09510瀏覽

C# Multidimensional Arrays:  `[][]` vs `[,]` – What's the Difference?

C# 中的 [][][,] 多維數組

C# 中的多維數組可以使用兩種語法表示:[][][,]。雖然它們看起來很相似,但兩者之間存在關鍵區別。

鋸齒數組 [][]

double[][] ServicePoint = new double[10][];

此語法創建一個數組的數組。 ServicePoint 中的每個元素都是對一個單獨的 double 數組的引用。鋸齒數組的優勢在於其靈活性。它的行可以具有不同的長度,允許不規則的數據結構。

統一數組 [,]

double[,] ServicePoint = new double[10, 9];

相反,統一數組是一個具有固定行數和列數的矩形網格。這裡,ServicePoint 有 10 行和 9 列,使其成為二維的。網格中的每個元素都使用行和列索引訪問。

[][] 語法中的語法錯誤

[][] 語法示例中的錯誤是因為在聲明時無法指定第二維。必須首先將數組聲明為數組的數組(只有一個索引):

double[][] ServicePoint = new double[10][];

然後,在創建外部數組中的每個數組時,可以指定其維度:

ServicePoint[0] = new double[13];

[,] 語法中的賦值錯誤

第二個示例中的錯誤是由於統一數組不允許將一維數組賦值給行或列。這是因為 [,] 數組中的每個元素都是單個 double,需要行和列索引才能訪問。

總而言之,[][] 表示鋸齒數組,其中每一行可以具有不同的長度,而 [,] 表示具有固定行數和列數的統一數組。理解這種區別對於有效地使用 C# 中的多維數組至關重要。

以上是C#多維數組:`[] [] vs` [,]` - 有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn