嵌套数组初始值设定项应为C#

时间:2019-05-02 21:58:34

标签: c#

我必须构建一个2D数组的锯齿状数组,但出现错误“预计使用嵌套数组初始化程序”。我的代码与此类似:

double[,] a1 = new double[,] { { 1 } };
double[,] a2 = new double[,] { { 2 } };
double[,] a3 = new double[,] { { 3 } };
double[,][] b = new double[,][] { a1, a2, a3 };

为什么会出现该错误?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

由二维双精度数组组成的一维数组是double[][,],而不是double[,][]。对于您当前的类型,期望的是一个二维数组,而不是所提供的double的一维数组。

这就是为什么您不应该使用这种类型的原因。您可能想要具有组成二维数组的自定义类型,并具有该自定义类型的单个数组。不用迷惑自己,操作起来会容易得多。