首页 > 其他分享 >IEqualityComparer接口实现对象去重

IEqualityComparer接口实现对象去重

时间:2024-01-30 15:37:34浏览次数:25  
标签:set obj IEqualityComparer 对象 System 接口 Equals using public

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GCT.MedPro.Core.ContainerModule.ContainerDefinition;
using Magicodes.ExporterAndImporter.Core;
using SqlSugar.Extensions;

namespace GCT.MedPro.SpecModule.SpecService.Dtos
{
    public class SpecImportDto
    {
        public string SpecName { get; set; }

        public string SpecRevision { get; set; }

        public TxTypes Type { get; set; }

        public string DataType { get; set; }

        public string DataRev { get; set; }
    }
    public class SpecImportDtoComparator : IEqualityComparer<SpecImportDto>
    {
        public bool Equals(SpecImportDto x, SpecImportDto y)
        {
            return x.SpecRevision.Equals(y.SpecRevision) && x.SpecName.Equals(y.SpecName) && x.DataRev.Equals(y.DataRev) && x.DataType.Equals(y.DataType) && x.Type.Equals(y.Type);
        }

        public int GetHashCode([DisallowNull] SpecImportDto obj)
        {
            return (obj.SpecName + obj.SpecRevision + obj.DataType + obj.Type + obj.DataRev).GetHashCode();
        }
    }
}

  

标签:set,obj,IEqualityComparer,对象,System,接口,Equals,using,public
From: https://www.cnblogs.com/ykingyds/p/17997209

相关文章

  • 微信小程序: 传递对象数据
    一、传递参数的页面wxml<viewclass="right"><viewclass="status"style="color:{{item.color}}">{{item.status}}</view>......
  • csharp 发布订阅 接口
    event_learn\MyEvent.csnamespaceMyEvent;publicdelegatevoidMyEventHandler(objectsender,EventArgse);//定义一个自定义的事件接口,包含一个事件声明publicinterfaceIMyEvent{//使用event关键字声明一个事件,指定委托类型和事件名称eventMyEven......
  • 接口地址忽略大小写
    最近在重写一个项目的接口,写完后运行测试发现接口存在大小写敏感的情况,但是我又找不到原因出在哪里,只能写一个配置类,通过实现WebMvcConfigurer接口的configurePathMatch方法,将AntPathMatcher的实例设置为路径匹配器,并将其设置为不区分大小写。这样,当请求的接口路径与定义的路径因为......
  • axios实现,在一个极短时间内,请求同一个接口,若传参完全一样,则使用浏览器中的缓存中的上
    axios实现,在一个极短时间内,请求同一个接口,若传参完全一样,则使用浏览器中的缓存中的上次的值。同时,上次的值应该在指定时间内可以自动清除。请写一个axios适配器。实现上述功能。在axios中,我们可以利用浏览器的缓存机制(HTTP缓存)来实现这个需求。不过,浏览器的HTTP缓存主要依赖于服......
  • mybatisPlus获取保存对象的id
    有个需求就是使用mybatisplus的时候,主键通过雪花算法生成,不是使用mysql数据库主键自增的,我要获取生成的id。 @TableId(type=IdType.ASSIGN_ID)@Schema(description="主键id")privateStringcenterId;使用mybatisplus的save方法便可获取 记录遇到的问题解决方法,......
  • 点击修改某一行数据,打开弹窗,是从点击行上带出修改对象的数据进行回显,还是根据id从后端
    在前端开发中,点击修改某一行数据并打开弹窗进行回显时,常见的做法有两种:从点击行上带出修改对象的数据进行回显:如果列表渲染时,每一行的数据对象已经完整地加载到前端(例如通过一次性获取所有列表数据或者分页加载时将当前页面数据加载至前端),那么可以直接根据用户点击的行数据更......
  • 接口和抽象类的区别
    1)接口,它是一个规范、法规,你必须按照我的接口来做、来写才能调用我的方法、功能;接口是自上向下的方式,接口只管定义规范,而子类实现的时候,或者其它类调用的时候必须遵循我的标准2)抽象类是把某些类的一些特性,把他们的公共特征抽取出来之后变成了一个抽象类,如下图所示抽象类是自下......
  • 优雅的实现接口防刷,最强方案来了~!
    1前言本文为描述通过Interceptor以及Redis实现接口访问防刷Demo这里会通过逐步找问题,逐步去完善的形式展示2原理通过ip地址+uri拼接用以作为访问者访问接口区分通过在Interceptor中拦截请求,从Redis中统计用户访问接口次数从而达到接口防刷目的如下图所示3工程其中,Interceptor处代码......
  • 跟收费说拜拜,IDEA接口调试插件推荐
    IDEA插件市场中的API调试插件不是收费(FastRequest)就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用!这款插件由Apipost团队开发的,其官方介绍是:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API......
  • (2A)ADM7172ACPZ-2.5低压差线性稳压器 (LDO),AD5684BRUZ内置SPI接口的四通道、12位DAC
    一、ADM71726.5V、2A、超低噪声、高PSRR、快速瞬态响应CMOSLDOADM7172ACPZ-2.5超低噪声、高PSRR、快速瞬变响应CMOS低压差线性调节器采用2.3V到6.5V电压提供高达500mA的输出电流。这些高输出电流LDO适用于调节6V至1.2V供电轨的高性能模拟和混合信号电路。该......