2011-03-24 702 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