使用 LINQ 从 2 个不同的列表中查找和打印值

冷却

我无法理解 LINQ 语句。我必须遵循以下代码:

//All list are filled from a file//
if (DoctorList.Any(y => EpisodeList.Any(x => y.Debut == x.Story)))
{
   Year.Text = x.Year.ToString();
   Episode.Text = x.Title;
}
if (DoctorList.Any(y => CompanionList.Any(c => y.docNum == c.Doctor)))
{
   Companions.Items.Add(String.Format(c.Name + " (" + c.Actor + ")"));
}
if (CompanionList.Any(y => EpisodeList.Any(x => x.Story == y.Debut)))
{
   Companions.Items.Add(String.Format(x.Title + " (" + x.Year + ")"));
   Companions.Items.Add("");
}

我有 2 个问题。1 - 我需要打印找到的对象的值。例如,在下面的代码中,我需要获取存储在对象 x 中的名为 Year 的值和值 Title。

if (DoctorList.Any(y => EpisodeList.Any( x => y.Debut == x.Story))) 
{
    Year.Text = x.Year.ToString();
    Episode.Text = x.Title;
}

2 - 与第二个和第三个 if 语句一起使用。可能有 30 个不同的同伴应该添加到列表框,但是对于那些 if 语句,我只能找到一个。我仍在学习如何使用 LINQ 语句,我不确定如何使用一个值获得多个值。

一般

很难理解你在做什么或想要实现什么

但我认为你需要颠倒你的逻辑,这样你才能访问这一集

关于你的第一个问题,如果你只想访问发现的第一集,你可以做这样的事情

var episode = EpisodeList.FirstOrDefault(x => DoctorList.Any(y => y.Debut == x.Story));
if (episode != null)
{
   Debug.WriteLine($"year = {episode.Year}, Title = {episode.Title}");
}

关于你的第二个问题,如果你有多次出现,你可以做一个 where,然后选择一个列表,即时进行格式化并将其添加到 Companions List(可能是什么)

var namesActors = EpisodeList.Where(x => DoctorList.Any(y => y.docNum == x.Doctor))
   .Select(x => $"{x.Name} ({x.Actor})")
   .ToList();

foreach (var value in namesActors)
   Companions.Items.Add(value);

var titleYears = EpisodeList.Where(x => DoctorList.Any(y => y.Debut == x.Story))
   .Select(x => $"{x.Title} ({x.Year})")
   .ToList();

foreach (var value in titleYears)
   Companions.Items.Add(value);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用LinQ合并2个不同类型的列表

来自分类Dev

使用LinQ合并2个不同类型的列表

来自分类Dev

使用LINQ在XML文件中搜索2个不同的元素

来自分类Dev

使用Linq比较2个列表中的字符串

来自分类Dev

Linq:查找具有不同值但索引相同的2个列表的元素

来自分类Dev

使用Linq在列表中以逗号分隔的值查找值

来自分类Dev

使用 linq 选择 2 个元素

来自分类Dev

使用linq在C#的列表中查找最接近的值?

来自分类Dev

使用linq在List <Vector2>中查找重复项

来自分类Dev

在2个日期之间使用Linq计数对象列表

来自分类Dev

根据2个值使用Linq解析XML

来自分类Dev

使用Linq来确定一个班级中是否有超过2个不同的项目

来自分类Dev

使用Linq根据2个字段获取列表中重复项的列表

来自分类Dev

使用Linq匹配本地列表中任何对象的2属性

来自分类Dev

使用Linq在2个排序的整数列表中比较每个值的绝佳方法

来自分类Dev

使用 Linq 的不同值列表(Linq,C#)

来自分类Dev

尝试使用Linq从2个表中获取ID的总价

来自分类Dev

C#Linq,使用linq从列表中查找最高编号

来自分类Dev

使用linq从两个列表中匹配和更新值?

来自分类Dev

在LINQ中查找2列的乘积和

来自分类Dev

使用 LINQ 在嵌套集合中查找值

来自分类Dev

使用linq查找2个字符串列表之间是否存在公共字符串

来自分类Dev

LINQ包含2个列表

来自分类Dev

在LINQ中使用2个where子句的性能

来自分类Dev

使用LINQ将2个表与主表左连接

来自分类Dev

如何使用LINQ在2个表中选择IEnumerable

来自分类Dev

合并 2 个 linq 查询,使用 1 的结果继续搜索

来自分类Dev

使用Linq和ForEach编辑2D数组

来自分类Dev

使用LINQ打印阵列

Related 相关文章

热门标签

归档