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