gpt4 book ai didi

c# - 返回列表 1 和列表 2 中的项目匹配的列表

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:23 25 4
gpt4 key购买 nike

假设我有 2 List<T> List1 和 List2 如下所示:

列表 1 :

[ID:1, Name:"item1"]
[ID:2, Name:"item2"]
[ID:3, Name:"item3"]
[ID:4, Name:"item4"]

名单2:
[ID:2, Name:"item2"]
[ID:3, Name:"item3"]
[ID:5, Name:"item5"]
[ID:6, Name:"item6"]

如何获得仅包含两个列表中的对象的列表?使用上面的示例,我想返回:
[ID:2, Name:"item2"]
[ID:3, Name:"item3"]

修改原始列表是可以的。最好的方法是什么?

最佳答案

  var result = list1.Intersect(list2).ToList();

是最简洁的。但是请记住,它使用的是默认的相等比较器,它可能适合您,也可能不适合您。如果没有,您可以提供自己的:
    public class MyEqualityComparer : IEqualityComparer<Foo>
{
public bool Equals(Foo x, Foo y)
{
return x.Id == y.Id;
}

public int GetHashCode(Foo obj)
{
return obj.Id.GetHashCode();
}
}

var result = list1.Intersect(list2, new MyEqualityComparer()).ToList();

关于c# - 返回列表 1 和列表 2 中的项目匹配的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com