0

当不同维度的数量和大小先验未知(即作为参数传递)时,是否有可能(以及如何?)参数化多维数组?

如果我们定义

int[] a1dim;
int[,] a2dim;
int[,,] a3dim;

我们已经知道a1dim和分别是 1 维、2 维a2dima3dim3 维的。但是是否可以在传递参数时指定数组的维度(例如,每个维度的大小列表)?例如,

public object GetMultidim(int[] sizes)
{
    object[/*?*/] andim = new object[/*func(sizes)?*/];
    return andim;
}
4

2 回答 2

4

它已经存在:System.Array.CreateInstance(Type, params int[])

于 2013-09-26T16:39:39.433 回答
1

使用Array.CreateInstance工厂方法来实例化您的数组,而不是[dim, dim ...]简写。

于 2013-09-26T16:40:30.547 回答