2013-11-28 74 views
-1

當我編程用的DataRow數組prarameter一個功能,它提示「),」與該行private Dictionary<int,string> getViewColumnHeaderName(DataRow DR[]),想到這是我的代碼:爲什麼C#不能傳遞數組參數?

private Dictionary<int,string> getViewColumnHeaderName(DataRow DR[]) 
{ 
    System.Collections.Generic.Dictionary<int, string> dic=new System.Collections.Generic.Dictionary<int, string>(); 
    for(int i=0;i<DR[0].Table.Columns.Count;i++) 
    { 
    dic.Add(i,DR[0].Table.Columns[i].ColumnName.ToString()); 
    } 
    return dic; 
} 

當我打勾的[],該程序可以運行正常,但我只想給參數一個數組,如何解決它?

回答

4

添加[]旁邊的參數類型,沒有參數名:

private Dictionary<int,string> getViewColumnHeaderName(DataRow[] DR) 
2

DataRow DR[]變化到DataRow[] DR

private Dictionary<int,string> getViewColumnHeaderName(DataRow[] DR) 

形式MSDN

當聲明的陣列中,方括號([])必須出現在 類型,而不是標識符之後。在標識符之後放置括號是 在C#中不合法的語法。

int[] table; // not int table[]; 
0

前面已經提到,你應該添加[]參數類型不是參數名稱。

這可能顯得有點違反直覺,因爲您會使用DR[i]來引用該數組中的項目。但是,在方法簽名中,您正在定義將通過參數傳遞的內容,而不是特定的對象本身。正在傳遞的項目是一個數組DataRow,而不是數組

相關問題