0

我的 winforms 应用程序(c#)中有一个函数(function1),它返回一个数组

函数内部1

public array function1(string value)
{
string[] array = new string[12];
     //assigning values to the array elements....
retrun array;
}

我这样称呼这个函数

string id="Some id";
string[] array2 = new string[12];
array2=this.function1(id);

但它给了我错误

无法将类型“System.Array”隐式转换为“string[]”。存在显式转换(您是否缺少演员表?)

请高手帮帮我!

4

3 回答 3

7

改变

public array function1(string value)

public string[] function1(string value)

在您的使用示例中,您不需要new string[12]事先将数组初始化为,因为您的函数无论如何都会返回一个新数组。

于 2013-03-03T16:19:25.207 回答
2

function1 的签名应该是public string[] function1(string value). 返回类型array与类型的变量不匹配string[]

于 2013-03-03T16:20:21.823 回答
1

这有效,但不确定问题是什么:

public Form1()
{
    InitializeComponent();
    string id = "Some id"; 
    string[] array2 = new string[12]; 
    array2 = this.function1(id);
}

public string[] function1(string value)
{
    string[] array = new string[12];
    array[0] = value; // for example
    return array;
}
于 2013-03-03T16:26:10.033 回答