ASP.netCoreC#中的LinqDistinct不起作用。
创始人
2024-09-17 19:30:05
0

可能是由于默认情况下Linq Distinct方法只检查对象的引用是否相同,而不是对象的值是否相同。要解决该问题,可以使用IEqualityComparer来指定比较对象的条件。

示例代码如下:

  1. 定义一个类MyClass,并重写它的Equals和GetHashCode方法:

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

     public override bool Equals(object obj)
     {
         if (obj == null || !(obj is MyClass))
         {
             return false;
         }
         return this.Id == ((MyClass)obj).Id && this.Name == ((MyClass)obj).Name;
     }
    
     public override int GetHashCode()
     {
         return this.Id.GetHashCode() ^ this.Name.GetHashCode();
     }
    

    }

  2. 在需要用到Distinct方法的地方,使用自定义的IEqualityComparer:

    var list = new List { new MyClass{Id=1, Name="A"}, new MyClass{Id=2, Name="B"}, new MyClass{Id=2, Name="B"}, new MyClass{Id=3, Name="C"} };

    var distinctList = list.Distinct(new MyClassEqualityComparer());

    // 自定义的IEqualityComparer class MyClassEqualityComparer : IEqualityComparer { public bool Equals(MyClass x, MyClass y) { if (x == null || y == null) { return false; } return x.Equals(y); }

     public int GetHashCode(MyClass obj)
     {
         if (obj == null)
         {
             return 0;
         }
         return obj.GetHashCode();
     }
    

    }

通过这种方式,就可以在ASP.net Core C#中使用Linq Distinct方法来比较对象的属性值是否相同。

相关内容

热门资讯

实测教程!德扑计算外挂透明挂辅... 实测教程!德扑计算外挂透明挂辅助神器,眯眯扑克赢,详细教程(讲解有挂)-哔哩哔哩;超受欢迎的眯眯扑克...
九分钟普及!微扑克辅助神器(辅... 1、九分钟普及!微扑克辅助神器(辅助挂)软件透明挂((2025已更新))(哔哩哔哩);该软件可以轻松...
分辨真假!wpk ai辅助有没... 分辨真假!wpk ai辅助有没有用!原来是真的有挂((2022已更新))(哔哩哔哩);超受欢迎的wp...
一分钟揭秘!wpk插件挂外挂透... 一分钟揭秘!wpk插件挂外挂透明挂辅助插件,pokermaster外挂,详细教程(有挂规律)-哔哩哔...
3分钟实锤!Aapoker a... 您好,Aapoker这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家在这...
玩家亲测!德扑之星实战!确实是... 玩家亲测!德扑之星实战!确实是真的有挂((2023已更新))(哔哩哔哩);原来确实真的有挂(需添加指...
六分钟了解!wpk专用外挂透明... 六分钟了解!wpk专用外挂透明挂辅助插件,wpk俱乐部24小时,详细教程(有挂助手)-哔哩哔哩;致您...
五分钟了解!wpk德州透视辅助... 五分钟了解!wpk德州透视辅助(辅助挂)透视辅助((2024已更新))(哔哩哔哩),您好,德州透视这...
发现玩家!微扑克wpk辅助存在... 发现玩家!微扑克wpk辅助存在吗!的确是真的有挂((2021已更新))(哔哩哔哩)1、玩家可以在微扑...
8分钟了解!德州之星app外挂... 8分钟了解!德州之星app外挂透视辅助软件,德州ai人工智能软件免费,详细教程(今日头条)-哔哩哔哩...