2013-03-03 19 views
0

我在我的WinForms應用程序(C#)返回數組的無法隱式轉換類型「的System.Array」到「字符串[]」在windows窗體

期函數

public array function1(string value) 
{ 
string[] array = new string[12]; 
    //assigning values to the array elements.... 
retrun array; 
} 
內部的功能(功能1)

和我這樣調用

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

此功能,但它給了我錯誤

不能將類型'System.Array'隱式轉換爲'string []'。存在明確的轉換(您是否缺少演員?)

請高手幫幫我!

+0

我不能讓它怎麼連來到這個:錯誤CS0246:無法找到類型或名稱空間名稱「array」。 – Andrey 2013-03-03 16:21:04

+0

函數返回的「數組」可以是anyuthing的數組;但是array2只能保存對字符串數組的引用。因此錯誤。將函數的返回類型更改爲string []。 – 2013-03-03 16:21:33

回答

7

變化

public array function1(string value) 

public string[] function1(string value) 

而在你使用的例子,你不需要手之前,你的陣列初始化new string[12],因爲你的函數返回反正一個新的數組。

2

function1的簽名應該是public string[] function1(string value)。 返回類型array不型string[]

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; 
} 
相關問題