首页 > 编程语言 >c#对象集合的比较

c#对象集合的比较

时间:2023-04-11 09:36:03浏览次数:33  
标签:Name People c# Age 对象 other 集合 new public

//如果要比较序列中对象的实际数据而不是仅仅比较它们的引用,则必须在类中实现IEqualityComparer<T> 泛型接口
public class People:IEquatable<People> 
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool Equals(People other)
    {
        if (other is null)
            return false;
 
        return this.Name == other.Name && this.Age == other.Age;
    }     
}
        
/// <summary>
/// 对象集合比较
/// </summary>
private void Test()
{
    List<People> peoples1 = new List<People> { new People { Name = "张三", Age = 10 }, new People { Name = "小红", Age = 10 } };
    List<People> peoples2 = new List<People> { new People { Name = "张三", Age = 10 }, new People { Name = "小红", Age = 10 } };
    var b = peoples1.SequenceEqual(peoples2); //true
}

 

标签:Name,People,c#,Age,对象,other,集合,new,public
From: https://www.cnblogs.com/Insist-Y/p/17305100.html

相关文章

  • 转:C# Byte[] string转换
     01,C#string类型转成byte[]:Byte[]byteArray=System.Text.Encoding.Default.GetBytes(str);02,C#byte[]转成string:stringstr=System.Text.Encoding.Default.GetString(byteArray);03,C#string类型转成ASCIIbyte[]:("01"转成byte[]=newbyte[]{0x30,0x31......
  • EasyCVR视频融合平台onvif接入云台控制接口,出现延时是什么原因?
    EasyCVR视频融合平台基于云边端一体化架构,部署轻快、功能灵活,平台可支持多协议、多类型设备接入,包括:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等(具体见下图)。在视频能力上,可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、集群、智能......
  • SEE 07 Comparing Cash-flow Streams
    ComparingCash-flowStreams7.1Equivalencecomparingtwodifferentcashflowsmakessenseonlywhentheyareexpressedinthesametimeframe.7.2BasisforComparisonAcommonframeofreferenceforcomparingtwoormorecash-flowstreamsinaconsisten......
  • CNC工艺全铝外壳5G模组搭配R4S使用演示 RM500U FM650
    关键词:CNC工艺  USB3.0  typeC  全铝外壳  R4S  RK3399FM650  RM500U  5G  LTE  OpenWrt Mcuzone 野芯科技概述:CNC工艺全铝外壳5G模组在R4S上配置使用演示硬件平台:CNC工艺全铝外壳5G模组  R4S软件平台:OpenWrt系统镜像文件:FriendlyWrt_20201209_NanoPi-R......
  • [creo3.0] 打开装配件无显示 但是子件打开可以显示
    解决:将界面左侧的模型树ModelTree切换到图层树LayerTree,取消被隐藏的涂层    原因:Bing时了解到分为模型树和图层树,而图层也可以隐藏,因此试了一下,一进入图层树就发现果然有东西被隐藏了.根本不用其他解决方案,如:修改设置,修改配色,修改加载,将箭......
  • delphi 11.3 java.ioexception:cleartext http traffic [IP地址] not permitted
    要在AndroidManifest.xml添加如下属性即可:参考:HowtoFixCleartextHTTPTrafficnotPermittedinAndroid-TRENDOCEANS ......
  • 浅析pcba测试
      说起PCB大家都很熟悉,那大家知道什么是PCBA吗?它是指将PCB板进行加工,支撑一个成品线路板。而PCBA测试就是对线路板进行一个功能测试、电路测试。那么为什么一定要对PAB板进行检测呢?它有什么重要性?安徽英特丽小编带大家分析一下 PCBA加工的过程十分复杂,其中包括PCB板制作、......
  • 数据库:Redis哨兵及cluster集群部署
    1、什么是哨兵模式哨兵模式:可以自动切换解决单点故障,但是不能负载均衡,存储能力受限制。哨兵核心功能:在主从复制的基础上,实现了主节点的自动故障转移2、哨兵的作用监控:监控主节点和从节点是否在正常运行故障自动转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效......
  • rsync远程同步:下行同步、上行同步+inotify实时同步
    一、rsync远程同步1、什么是rsync远程同步rsync是C/S架构的数据镜像备份工具,可以实现全量备份和快速增量备份支持本地复制或ssh、rsync主机同步。rsync默认端口为873rsync特性:可以在不通主机之间镜像同步整个目录树,支持增量备份、保持链接和权限、时间、属性且传输前自动执行压......
  • 背包问题集合
    dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。那么可以有两个方向推出来dp[i][j],不放物品i:由dp[i-1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i-1][j]。(其实就是当物品i的重量大于背包j的重量时,物品i无法放进......