【发布时间】:2021-07-10 13:30:57
【问题描述】:
我有以下列表
var list1 = new List<Items>()
{
new Items { Id = 1, Name = "PC" },
new Items { Id = 2, Name = "Mug" },
new Items { Id = 3, Name = "Table" },
new Items { Id = 4, Name = "Table" }
};
var list2 = new List<string> { "Mug", "Table", "Buld" };
我正在尝试获取一个列表,其中 list1 包含 list2 而没有重复
var list1 = new List<Items>()
{
new Items { Id = 1, Name = "PC" },
new Items { Id = 2, Name = "Mug" },
new Items { Id = 3, Name = "Table" }
};
这是我尝试过但不起作用的方法
var result = list1.Where(t1 => list2.Any(x => x == t1.Name)).ToList();
【问题讨论】:
-
GroupBy + First,或与 Name 上的比较器不同。更多 linQ 不同的作者
-
为什么
{ Id = 1, Name = "PC" }包含在输出中,而“PC”不在list2中? -
@Self 我还需要比较两个列表