C# List<T> Contains<T>()的用法小结

时间:2021-05-29 11:44:56 

泛型List<T>中有一个比较列表是否已包含对象的方法Contains<T>(),今天在网上搜了一个用法,记录下来,备查。

要用此方法比较我们的自定义对象,首先要有一个比较器,

要注意的是,这里的比较器是实现IEqualityComparer<T>接口的,不要写成IComparer<T>。

如下:


    /// <summary>
    /// 描    述:弹出模型对象列表比较器(根据ID比较)
    /// </summary>
    public class PopupComparer : IEqualityComparer<Model.PopupModel.PopupModel>
    {
        public static PopupComparer Default = new PopupComparer();
        #region IEqualityComparer<PopupModel> 成员
        public bool Equals(Model.PopupModel.PopupModel x, Model.PopupModel.PopupModel y)
        {
            return x.Id.Equals(y.Id);
        }
        public int GetHashCode(Model.PopupModel.PopupModel obj)
        {
            return obj.GetHashCode();
        }
        #endregion
    }


然后我们就可以调用Contains<T>()方法了,如下:


List<PopupModel> list = new List<PopupModel>();
//model为要比较的对象
if(list.Contains<PopupModel>(model,PopupComparer.Default))
{
}

标签:C#,List,Contains
0
投稿

猜你喜欢

  • Mybatis配置之<typeAliases>别名配置元素解析

    2023-08-02 03:09:54
  • java获取文件的inode标识符的方法

    2021-06-19 15:10:49
  • Java logback日志的简单使用

    2023-07-15 01:32:33
  • 使用maven运行Java Main的三种方法解析

    2021-09-24 10:09:28
  • Java实现简易界面通讯录

    2023-02-09 20:12:59
  • 关于java String中intern的深入讲解

    2023-01-24 18:18:36
  • java 中newInstance()方法和new关键字的区别

    2023-11-25 07:17:26
  • Java获取时间年、月、日的方法

    2022-02-10 16:58:36
  • 重写hashCode()和equals()方法详细介绍

    2023-11-24 16:13:33
  • Java微信公众平台开发(11) 微信三大平台的关联

    2022-10-15 06:55:56
  • java获取当前时间并格式化代码实例

    2021-10-06 17:06:16
  • 深入探讨Linux静态库与动态库的详解(一看就懂)

    2023-07-04 01:02:28
  • SpringBoot使用Spark过程详解

    2021-07-30 06:19:21
  • SSH框架网上商城项目第22战之银行图标以及支付页面显示

    2022-02-18 19:34:03
  • SpringMVC 数据校验方法(必看篇)

    2023-11-14 21:44:05
  • Java 多层嵌套JSON类型数据全面解析

    2022-07-18 05:13:05
  • Spring JPA联表查询之注解属性详解

    2021-11-04 14:19:04
  • Java事务的个人理解小结

    2023-11-29 12:10:37
  • java使用jdbc操作数据库示例分享

    2023-10-29 13:54:21
  • Java深入讲解异常处理try catch的使用

    2023-11-04 13:00:32
  • asp之家 软件编程 m.aspxhome.com