我正在使用这样的一行:
Array stringArray = Array.CreateInstance(typeof(String), 2, 2);
使用一个返回带有 stringArray 变量的2D System.Array的方法。但是stringArray = MyClassInstance.Work(...,......);没有填充该函数的返回数组。
我应该如何定义我的集合变量,以便可以将它分配给返回2D System.Array字符串数组值的方法的返回值?
谢谢
答案 0 :(得分:2)
Array.CreateInstance
返回Array
,没有指定其维度和长度(但无论如何它是System.Array
,它是C#中所有数组的基类。在大多数情况下,方法的返回数组更像是:
public string[] MyMethod()
{
}
public int[,] Another(int something)
{
}
string[] theStringResult = MyMethod();
int[,] theIntResult = Another(1);
答案 1 :(得分:0)
Array.CreateInstance(typeof(String), 2, 2);
这会将string[,]
广告投放回Array
。它与(Array)(new string[2,2])
相同。因此,如果您愿意,可以将其投射到string[,]
。
但是你为什么要用它呢?你不能只使用string[,]
吗?难道你不知道编译时元素类型是string
吗?也许在一个通用参数中。
但是stringArray = MyClassInstance.Work(......,......);没有填充该函数的返回数组。
除非您将代码发布到发生的位置,否则我们无法帮助解决问题的这一部分。看起来MyClassInstance.Work不会返回您创建的数组实例。但除非你用错误显示代码,否则我无法告诉你它在哪里。