2011-03-24 228 views
10
/// <summary> 
/// Returns an array of all ArtworkData filtered by User ID 
/// </summary> 
/// <param name="UsersID">User ID to filter on</param> 
/// <returns></returns> 
public static Array[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels[]; 
} 

我得到一個語法錯誤,;return Labels[]後的預期。C#函數返回數組

我正在做這個對嗎?

回答

14

您試圖返回類型爲ArtworkData的變量Labels而不是數組,因此需要將方法簽名作爲其返回類型。您需要修改你的代碼,例如:

public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 

Array[]實際上是Array數組,如果是有道理的。

4

return Labels;應該這樣做!

public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 
5
public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 

這應該工作。

創建數組或訪問數組時只能使用括號。另外,Array[]正在返回一個數組數組。您需要返回鍵入的數組ArtworkData[]

1

您應該返回變量withouth的括號需要

Return Labels 
1

兩個變化: 1.更改收益的方法從Array []以ArtWorkData [] 2.更改標籤[]在return語句類型以標籤

0
static void Main() 
    { 
      for (int i=0; i<GetNames().Length; i++) 
       { 
        Console.WriteLine (GetNames()[i]); 
       } 
    } 

    static string[] GetNames() 
    { 
     string[] ret = {"Answer", "by", "Anonymous", "Pakistani"}; 
     return ret; 
    } 
+1

格式化代碼並添加一些解釋,這看起來很可怕。 – Gnqz 2018-01-10 07:05:30