【发布时间】:2015-03-17 21:59:11
【问题描述】:
我正在尝试使用两个现有的一维数组来初始化一个二维数组。显然,如果我们知道这些数组的值,我们可以像这样初始化它:
float[,] my2DArray = new float{{1,2}, {3,4}};
但是,如果我尝试使用如下变量初始化数组:
float[] a = {1,2};
float[] b = {3,4};
float[,] my2DArray = new float{a,b};
然后我得到一个错误“需要一个嵌套数组初始化器。” 我猜这可能与编译器不知道数组的维度有关,因为它直到运行时才会被分配。
那么,有什么办法可以解决这个问题来进行这种数组分配?我的目标是 .NET 4.0。
【问题讨论】:
-
你知道在编译时会有多少个像 a,b 这样的数组吗?你不能做这样的分配,但你可以使用循环填充你的数组。
-
@Selman22 不,我从另一个函数收到
a和b,它们的长度是可变的(尽管a和b的长度彼此相同)。如果可能的话,我试图避免使用循环来填充。
标签: c# arrays multidimensional-array