【发布时间】:2018-11-17 03:17:02
【问题描述】:
我目前正在玩 TvDbSharper (https://github.com/HristoKolev/TvDbSharper),我有一个关于 IEnumerable 的问题。 我要做的是获取给定系列的所有 Id,然后将结果添加到 listView 中。
这段代码给了我列表中的第一个 ID:
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 中为每个可用的 id 创建一个新行。
我从未使用过 IEnumerable,而且我在使用 c# 时还是个新手,我已经被这个问题困扰了一个多星期了。谁能帮我解决这个问题?
谢谢!!
【问题讨论】:
-
也许我误解了这个问题,但
.ToList()会将IEnumerable转换为List。 -
你知道如何使用
foreach语句吗?
标签: c# list ienumerable