首页 >后端开发 >C++ >C# 多维数组:`double[][]` 与 `double[,]` – 有什么区别?

C# 多维数组:`double[][]` 与 `double[,]` – 有什么区别?

Patricia Arquette
Patricia Arquette原创
2025-01-24 11:12:11974浏览

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

C# 中的多维数组:double[][]double[,]

C# 提供两种声明多维数组的方式:数组的数组 (double[][]) 和统一的二维数组 (double[,])。

1. 数组的数组 (double[][])

声明数组的数组时,外部数组中的每个元素都是一个单独的数组。这允许创建锯齿状数组,其中内部数组可以具有不同的长度。

<code class="language-C#">// 声明一个数组的数组
double[][] ServicePoint = new double[10][];

// 为内部数组分配不同的长度
ServicePoint[0] = new double[13];
ServicePoint[1] = new double[20];</code>

2. 二维数组 (double[,])

相反,二维数组具有统一的结构,其中所有元素都是相同类型并且具有相同数量的维度。

<code class="language-C#">// 声明一个二维数组
double[,] ServicePoint = new double[10, 9];

// 错误:无法将一维数组赋值给二维数组的行/列
double[] d = new double[9];
ServicePoint[0] = d; // 此行会报错</code>

double[][] 中的语法错误

给定代码中,第 1 行的错误是由于声明数组的数组的语法不正确造成的。正确的语法是:

<code class="language-C#">double[][] ServicePoint = new double[10][];</code>

错误原因

声明数组的数组时,只在构造期间指定外部数组的长度。内部数组的长度在为其赋值时确定。

以上是C# 多维数组:`double[][]` 与 `double[,]` – 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn