Функция С# для возврата массива

/// <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[].

Я делаю это правильно?

Ответ 1

Вы пытаетесь вернуть переменную Labels типа ArtworkData вместо массива, поэтому это должно быть в сигнатуре метода в качестве возвращаемого типа. Вам необходимо изменить свой код как таковой:

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

    return Labels;
}

Array[] на самом деле является массивом Array, если это имеет смысл.

Ответ 2

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

    return Labels;
}

Это должно работать.

Вы используете скобки только при создании массива или при доступе к массиву. Кроме того, Array[] возвращает массив массива. Вам нужно вернуть типизированный массив ArtworkData[].

Ответ 3

return Labels; должен сделать трюк!

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

    return Labels;
}

Ответ 4

Вы должны вернуть переменную с помощью скобок

Return Labels

Ответ 5

Необходимы два изменения: 1. Измените тип возвращаемого метода из массива [] в ArtWorkData [] 2. Измените ярлыки [] в обратном выражении на ярлыки

Ответ 6

 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;
   }