C # Как сделать список из IEnumerable - PullRequest
0 голосов
/ 17 ноября 2018

В настоящее время я играю с TvDbSharper (https://github.com/HristoKolev/TvDbSharper)), и у меня есть вопрос об IEnumerable. Я пытаюсь сделать так, чтобы получить все идентификаторы для данной серии, а затем добавить результат в listView.

Этот код дает мне первый идентификатор в списке:

const int SeriesId = 78804;
var tasks = new List<Task<TvDbResponse<BasicEpisode[]>>>();
var firstResponse = await client.Series.GetEpisodesAsync(SeriesId, 1);
for (int i = 2; i <= firstResponse.Links.Last; i++)
{
tasks.Add(client.Series.GetEpisodesAsync(SeriesId, i));
}
var results = await Task.WhenAll(tasks);
var episodes = firstResponse.Data.Concat(results.SelectMany(x => x.Data));

epsListview.View = View.Details;
epsListview.Columns.Add("Episode", 100);
string[] arr = new string[4];
ListViewItem itm;
arr[0] = episodes.First().Id.ToString();
itm = new ListViewItem(arr);
epsListview.Items.Add(itm);

, но я хочу сделать новую строку в epsListview для каждого доступного идентификатора.

Я никогда не использовал IEnumerable, и я до сих пор очень новичок в использовании c #, я застрял с этой проблемой уже более недели. Кто-нибудь может мне помочь с этим?

Спасибо !!

1 Ответ

0 голосов
/ 17 ноября 2018

Похоже, вы хотите создать массив идентификаторов из IEnumerable эпизодов и добавить этот массив в один ListViewItem. Это должно сделать это.

string[] arr = episodes.Select(episode => episode.Id.ToString()).ToArray()
ListViewItem itm = new ListViewItem(arr);
epsListview.Items.Add(itm);
...