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# 多维数组:`[][]` 与 `[,]` – 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!