c# - C#如何从IEnumerable中创建一个列表
问题描述
我目前正在玩 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# 还是很陌生,我已经被这个问题困扰了一个多星期了。谁能帮我这个 ?
谢谢!!
解决方案
看起来您想要从 IEnumerable 剧集构建一个 ID 数组,并将该数组添加到单个 ListViewItem。这应该这样做。
string[] arr = episodes.Select(episode => episode.Id.ToString()).ToArray()
ListViewItem itm = new ListViewItem(arr);
epsListview.Items.Add(itm);
推荐阅读
- python-3.x - PyQt5 QPushButton 触发不止一次
- scala - Spark-sql 查询
- java - 如何在 Java 中重新初始化同步块内部?
- sql-server - 将数据转换为十分之一并取平均值
- arguments - Discord.js 分解命令处理程序问题的禁令命令
- docker - Nginx proxy_pass 无法加载资产 VueJS
- http - 在 Go 中使用 DialContext 的性能问题
- jquery - 动态jquery改变springboot和thymeleaf
- sails.js - 当设置迁移到安全时,sails.log 不起作用
- azure-devops - 如何使用 yaml 在 azure devops 中回滚到以前的构建