Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时创建可变维度数组?_C#_.net_Arrays_Reflection_Multidimensional Array - Fatal编程技术网

C# 如何在运行时创建可变维度数组?

C# 如何在运行时创建可变维度数组?,c#,.net,arrays,reflection,multidimensional-array,C#,.net,Arrays,Reflection,Multidimensional Array,我想在运行时创建可变长度多维数组 输入具有每个维度长度的数组。维数=输入数组的长度。 输出->可变维度数组 示例: 输入->var length=new[]{3,4,5} 预期输出->var arr=新字符串[3,4,5] 如何在没有反射和有反射的情况下执行此操作?系统中有此方法。数组类: public static Array CreateInstance( Type elementType, int[] lengths ) 有关GetLength()和GetUpperBound()

我想在运行时创建可变长度多维数组

输入具有每个维度长度的数组。维数=输入数组的长度。
输出->可变维度数组

示例:
输入->
var length=new[]{3,4,5}

预期输出->
var arr=新字符串[3,4,5]


如何在没有反射和有反射的情况下执行此操作?

系统中有此方法。数组类:

public static Array CreateInstance(
Type elementType,
int[] lengths    
)
有关
GetLength()
GetUpperBound()


但请注意,由于您在编译时不知道维度,因此无法使用熟悉的
a[i,j,k]
语法。所有访问看起来都像
int[]index=。。。;对象x=a.GetValue(索引)

以及如何访问它?别忘了var并不是你们想象的那个样。这是另一个问题,我正在弄清楚。但是我确信如果我能创建数组,我将获得足够的信息来访问它,这是您所问问题的一部分。我想你应该告诉我们你想先解决什么样的问题。这个问题是出于对语言结构的好奇。对于任何实际情况,都可以使用更简单的集合进行管理。有什么解释吗?