无法在Windows窗体中隐式转换类型'System.Array'为'string []'

时间:2013-03-03 16:16:59

标签: c# arrays

我的winforms app(c#)中有一个函数(function1),它返回一个数组

在function1

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 []'。存在显式转换(您是否错过了演员?)

请高手帮帮我!

3 个答案:

答案 0 :(得分:7)

更改

public array function1(string value)

public string[] function1(string value)

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

答案 1 :(得分:2)

function1的签名应为public string[] function1(string value)。 返回类型array与类型string[]

的变量不匹配

答案 2 :(得分: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;
}