相关疑难解决方法(0)

.Net数组,下限> 0

虽然想要做的事情可能很奇怪,但我需要在.Net中创建一个下限> 0的数组.这开始似乎是可能的,使用:

Array.CreateInstance(typeof(Object), new int[] {2}, new int[] {9});
Run Code Online (Sandbox Code Playgroud)

生成所需的结果(下限设置为9的对象数组).但是,创建的数组实例不能再传Object[]递给其他方法,期望给出一个错误,说明:

System.Object[*]不能铸成一个System.Object[].数组类型有什么不同,我该如何克服这个?

编辑:测试代码=

Object x = Array.CreateInstance(typeof(Object), new int[] {2}, new int[] {9});
Object[] y = (Object[])x;
Run Code Online (Sandbox Code Playgroud)

失败的原因是:"无法将类型为'System.Object [*]'的对象强制转换为'System.Object []'."

我还想指出,这种方法DOES使用多个维度时工作:

Object x = Array.CreateInstance(typeof(Object), new int[] {2,2}, new int[] {9,9});
Object[,] y = (Object[,])x;
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

.net arrays

11
推荐指数
1
解决办法
4535
查看次数

标签 统计

.net ×1

arrays ×1