我想在运行时创建可变长度的多维数组。
输入 - >具有每个维度长度的数组。维数=输入数组的长度 输出 - >变维数组。
例:
输入 - > var lengths = new [] {3,4,5}
预期输出 - > var arr = new string[3,4,5]
如果没有和有反思怎么做?
答案 0 :(得分:3)
System.Array类中有这个方法:
public static Array CreateInstance(
Type elementType,
int[] lengths
)
有关GetLength()
和GetUpperBound()
但请注意,由于您在编译时不了解维度,因此无法使用熟悉的a[i,j,k]
语法。所有访问权限都看起来像int[] indices = ...; object x = a.GetValue(indices);