C#中怎么使用Intersect自定义对象列表

在C#中使用Intersect方法对自定义对象列表进行交集操作,需要重写自定义对象的Equals和GetHashCode方法,以确保比较两个对象是否相等的准确性。假设有一个自定义对象Person,包含属性Id和Name,示例代码如下:public class Person{public int Id { get; set; }public string Name { get; set; }p

在C#中使用Intersect方法对自定义对象列表进行交集操作,需要重写自定义对象的Equals和GetHashCode方法,以确保比较两个对象是否相等的准确性。

假设有一个自定义对象Person,包含属性Id和Name,示例代码如下:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }

    public override bool Equals(object obj)
    {
        if (obj == null || GetType() != obj.GetType())
        {
            return false;
        }

        Person other = (Person)obj;
        return Id == other.Id && Name == other.Name;
    }

    public override int GetHashCode()
    {
        return Id.GetHashCode() ^ Name.GetHashCode();
    }
}

然后创建两个Person对象列表,使用Intersect方法找到它们的交集:

List<Person> list1 = new List<Person>
{
    new Person { Id = 1, Name = "Alice" },
    new Person { Id = 2, Name = "Bob" },
    new Person { Id = 3, Name = "Charlie" }
};

List<Person> list2 = new List<Person>
{
    new Person { Id = 2, Name = "Bob" },
    new Person { Id = 3, Name = "Charlie" },
    new Person { Id = 4, Name = "David" }
};

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

foreach (var person in intersectList)
{
    Console.WriteLine(person.Id + " " + person.Name);
}

以上代码将输出:

2 Bob
3 Charlie

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/970590.html

(0)
派派
上一篇 2024-04-02
下一篇 2024-04-02

相关推荐

  • 阴阳师最强ssr排行(2021最值得练的SP和SSR)

    阴阳师应该算是当下最为热门的卡牌养成游戏了吧?这个游戏凭借着精美的画风,豪华的声优阵容吸引了一大批的粉丝,现在这个游戏已经有二年多的历史了。随着版本的更替,式神的数目也越来越多,现在已经有一百多位了。接下来就来给大家整理一下那些必须得练起来的SSR式

    2021-08-24 技术经验
    0
  • 查询网站备案密码是什么(备案账号密码在哪里登录)

    查询网站备案密码是什么,备案账号密码在哪里登录内容导航:怎么查询ICP备案密码微信申诉找回密码网址ICP备案密码如何查询政府查询备案的网站是什么一、怎么查询ICP备案密码备案密码在你ICP备案通过时会以短信和邮件的方式发给你,你可以查一下过往的邮件和短信,如果查到了,一切OK。如果查不到,可以尝试一下以下途径找回备案密码:一、“工业和信息化部ICP/IP地址/域名信息备案管理系统”右下角有一个找

    2022-04-28
    0
  • 企业如何网络营销(企业网站的常见网络营销方法及效果)

    企业如何网络营销,企业网站的常见网络营销方法及效果内容导航:企业如何做网络营销推广一个企业应该怎样做好网络营销企业建网站是不是网络营销什么是企业网络营销呢一、企业如何做网络营销推广越来越多的中小微企业通过线下的获客的成本越来越,因此,大家都想

    2022-04-25
    0
  • OpenStack中如何部署和管理虚拟机

    在OpenStack中部署和管理虚拟机通常包括以下步骤:创建虚拟机镜像:首先需要准备一个虚拟机镜像,其中包含操作系统和所需软件。创建虚拟机实例:通过OpenStack的Dashboard或命令行工具,选择合适的镜像和虚拟机规格(CPU、内存、存储等),创建虚拟机实例。配置网络:为虚拟机实例配置网络,使其能够与外部网络通信。管理虚拟机:可以通过OpenStack Dashboard或命令行工具对虚拟

    2024-04-02
    0
  • dede如何设置搜索(dede设置缩略图)

    dede如何设置搜索,dede设置缩略图内容导航:dede如何添加搜索功能dede织梦自义定搜索怎么改成下拉dede如何让自定义的字段搜索为精确搜索呢比如我设置了字段是编号是而搜索12这个产品也会出来,如何精确为只搜索才出来dede57问答栏目设置,栏目中的首页模版,list模版,文章模版怎么设置一、dede如何添加搜索功能三步如何实现dede制作网站搜

    2022-04-19
    0
  • 如何上传flash到空间(flash方式上传)

    如何上传flash到空间,flash方式上传内容导航:如何上传自己做Flash动画的到空间里如何将FLASH文件上传至QQ空间怎么上传flash到QQ空间QQ空间如何上传FLASH一、如何上传自己做Flash动画的到空间里SWF格式需要空间来上传!并不是上传图片的空间!你可以到百度找免费FALSH上传空间!很多的!这样的网站一般直接给你地址的!二、如何将FL

    2022-05-01
    0

发表回复

登录后才能评论