1、去除list里某重复字段值的数据(相当于group by)

  1. public class CorrController
  2. {
  3. //方法
  4. public void DoGet()
  5. {
  6. List<test11> list_test = new List<test11>();
  7. list_test.Add(new test11()
  8. {
  9. m = ,
  10. v = "one"
  11. });
  12. list_test.Add(new test11()
  13. {
  14. m = ,
  15. v = "two"
  16. });
  17. list_test.Add(new test11()
  18. {
  19. m = ,
  20. v = "three"
  21. });
  22. list_test.Add(new test11()
  23. {
  24. m = ,
  25. v = "fornt"
  26. });
  27. list_test.Add(new test11()
  28. {
  29. m = ,
  30. v = "fornt"
  31. });
  32. list_test.Add(new test11()
  33. {
  34. m = ,
  35. v = "fornt"
  36. });
  37. var ss = list_test.Distinct(new Comparint());//这里调用
  38. }
  39.  
  40. }
  41.  
  42. //model
  43. public class test11
  44. {
  45. public int m { get; set; }
  46. public string v { get; set; }
  47. }
  48. //
  49. public class Comparint : IEqualityComparer<test11>
  50. {
  51. public bool Equals(test11 x, test11 y)
  52. {
  53. if (x == null && y == null)
  54. return false;
  55. return x.m == y.m;
  56. }
  57.  
  58. public int GetHashCode(test11 obj)
  59. {
  60. return obj.ToString().GetHashCode();
  61. }
  62. }

执行Distinct前有6条数据:

执行Distinct后有4条数据:

C# IEqualityComparer 去重的更多相关文章

  1. IEqualityComparer 去重

    1.去除list里某重复字段值的数据(相当于group by) public class CorrController { //方法 public void DoGet() { List<tes ...

  2. C#黔驴技巧之去重(Distinct)

    前言 关于C#中默认的Distinct方法在什么情况下才能去重,这个就不用我再多讲,针对集合对象去重默认实现将不再满足,于是乎我们需要自定义实现来解决这个问题,接下来我们详细讲解几种常见去重方案,孰好 ...

  3. 数据去重Distinct,IEqualityComparer,IEquatable

    很多情况下我们查询数据需要去重重复数据,下面就记录三个去重的方法. Distinct 最基本的去重形式,直接查询出数据后使用Distinct方法进行字段去重. var strList = new Li ...

  4. Linq去重 不用实现IEqualityComparer接口的方法超级简单

    RskFactorRelation.Instance.GetCache<RskFactorRelation>(true).Where(x => !string.IsNullOrEmp ...

  5. List集合去重的一种方法

    前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...

  6. List对象去重

    public class User { public int Id { get; set; } public string Name { get; set; } } public class User ...

  7. List集合去重的一种方法 z

    需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不 ...

  8. list集合中指定字段去重

    在开发中,有时会需要指定字段去重,以下为实现方法: 假设有个房地产权的类,其中宗地代码ZDDM值重复,而我们在前端页面显示时,只需要一条数据,因为公共字段都一样: IEqualityComparer需 ...

  9. 【C#】详解使用Enumerable.Distinct方法去重

    Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...

随机推荐

  1. 手机程序的app包名查找,可以在手机上查到

    获取pkgname(安卓软件包名) 1. 先下载pkgName安装文件(pkgName.apk )并在手机上安装2. 打开刚刚安装的pkgName软件,软件会自动生成你手机上软件的包名列表,同时会在手 ...

  2. 小程序笔记四:表单提交form

    index.wxml代码 <form bindsubmit="formSubmit" bindreset="formReset"> <view ...

  3. 最好的Java和Android开发IDE---IntelliJ IDEA使用技巧

    转载请注明网址:http//:www.cnblogs.com/JohnTsai 以前一直使用的是Eclipse,听别人介绍说IDEA非常不错,也为了以后转Android studio铺垫下.就开始尝试 ...

  4. linux系统调用函数---12

    Linux应用编程学习笔记                                 周学伟 一.系统调用文件编程   1.文件打开函数 /*************************** ...

  5. struts开发&lt;struts中的參数传递.三&gt;

    不说废话,直接上干货 1.通过set和get传递參数 添加username 和password两个属性并添加set和get方法 package fzl.user.struts.demo; import ...

  6. iOS开发--UILineBreakModeWordWrap deprecated

    在iOS6中UILineBreakModelWordWrap deprecated 现在推荐使用 [label setLineBreakMode:NSLineBreakByWordWrapping];

  7. std::string与std::wstring互相转换

    作者:zzandyc来源:CSDN原文:https ://blog.csdn.net/zzandyc/article/details/77540056 版权声明:本文为博主原创文章,转载请附上博文链接 ...

  8. Android分包原理

    如果App引用的库太多,方法数超过65536后无法编译.这是因为单个dex里面不能有超过65536个方法.为什么有最大的限制呢,因为Android会把每一个类的方法id检索起来,存在一个链表结构里面. ...

  9. [C] scanf - 格式输入函数

    scanf 函数称为格式输入函数,即把用户键盘输入的内容保存到指定的变量中. scanf 函数签名 scanf("格式控制字符串", 变量地址列表) scanf 函数是一个标准库函 ...

  10. CookieUtils工具类

    package com.taotao.common.util; import java.io.UnsupportedEncodingException; import java.net.URLDeco ...