Функция С# для возврата массива
/// <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;
}