使用 linq 根据包含 IEnumerable<Guid> 的另一个列表过滤列表
Filter a list based on another list containing IEnumerable<Guid> using linq
我正在寻找一种方法来根据另一个仅包含 ID 的列表来过滤列表。如果List A不包含listOfGuids中的任何id,则获取不包含id的过滤List
IEnumerable<Guid> listOfGuids = some list of Guid.
var filteredList = ListA.All(x=>listOfGuids.Where(x=>x.id!={all the items in list of Guid}))
例如:
listOfGuids = {
9c105700-98af-4c23-92ac-fd2dc5664b7a,
7d6e0918-fb05-4b37-80f4-c7e5ccaa094d
}
ListA =[
{id="9c105700-98af-4c23-92ac-fd2dc5664b7a", name="abc"},
{id="7d6e0918-fb05-4b37-80f4-c7e5ccaa094d", name="def"},
{id="6fb0bcf3-9ca6-40c8-9fa1-f7557ef09558", name="ghi"}
]
应该return filteredList as
[{{id="6fb0bcf3-9ca6-40c8-9fa1-f7557ef09558", name = "ghi"}}]
您想要项目 Where
列表 Contains
不正确 id
:
var filteredList = ListA.Where(x => !listOfGuids.Contains(x.id))
我正在寻找一种方法来根据另一个仅包含 ID 的列表来过滤列表。如果List A不包含listOfGuids中的任何id,则获取不包含id的过滤List
IEnumerable<Guid> listOfGuids = some list of Guid.
var filteredList = ListA.All(x=>listOfGuids.Where(x=>x.id!={all the items in list of Guid}))
例如:
listOfGuids = {
9c105700-98af-4c23-92ac-fd2dc5664b7a,
7d6e0918-fb05-4b37-80f4-c7e5ccaa094d
}
ListA =[
{id="9c105700-98af-4c23-92ac-fd2dc5664b7a", name="abc"},
{id="7d6e0918-fb05-4b37-80f4-c7e5ccaa094d", name="def"},
{id="6fb0bcf3-9ca6-40c8-9fa1-f7557ef09558", name="ghi"}
]
应该return filteredList as
[{{id="6fb0bcf3-9ca6-40c8-9fa1-f7557ef09558", name = "ghi"}}]
您想要项目 Where
列表 Contains
不正确 id
:
var filteredList = ListA.Where(x => !listOfGuids.Contains(x.id))