Попытка добавить в конец массива InlineQueryResultBase[] результата InlineQueryResult C#

Я пытаюсь добавить результат в InlineQueryResultBase[] с помощью оператора +=, но кажется делаю что-то не так

InlineQueryResultBase[] results = { };
results += {
    new InlineQueryResultVideo(
        id: "0",
        title: keyboardObj["title"].ToString(),
        videoUrl: keyboardObj["url"].ToString(),
        mimeType: "video/mp4",
        thumbUrl: keyboardObj["url"].ToString()
    )
};
await botClient.AnswerInlineQueryAsync(
    inlineQueryId: inlineQuery.InlineQuery.Id,
    results: results,
    isPersonal: true,
    cacheTime: 0
);

Invalid expression term '{' ; expected

Как я могу аппендить результаты в этот массив?


Ответы (1 шт):

Автор решения: aepot

В C# задать количество элементов массива можно только при его создании.

InlineQueryResultBase[] results = new[] {
    new InlineQueryResultVideo(
        // ...
    ),
    new InlineQueryResultVideo(
        // ...
    )
};

Если вам нужно поочередно добавлять элементы в массив, можно использовать коллекцию.

List<InlineQueryResultBase> results = new List<InlineQueryResultBase>();
results.Add(new InlineQueryResultVideo(
    // ...
));
results.Add(new InlineQueryResultVideo(
    // ...
));
→ Ссылка