在C#的List集合对象中,可以使用Distinct方法来对List集合元素进行去重,如果list集合内部元素为值类型,则Distinct方法根据值类型是否相等来判断去重,如果List集合内部元素为引用类型变量,则是判断相同引用的对象为相同进行List集合元素去重操作。

(1)值类型的List<int>集合对象intList,内部元素为1,1,2,2,3,4,5等这几个元素。对intList对象进行去重可使用下列语句:

  List<int> intList= new List<int>() { , ,,,,,};
intList= intList.Distinct().ToList();

经过上述Distinct方法去重处理并重新赋值后,intList集合内部元素为:1,2,3,4,5。

(2)针对引用类型的Distinct方法去重,则是判断List集合中的对象引用地址是否一致,不一致的话为不同的两个对象,即使2个对象的每个属性值都一样的情况下。

   List<TestModel> testList = new List<ConsoleApplication1.TestModel>();
testList.Add(new TestModel()
{
Index=,
Name="Index1"
});
testList.Add(new TestModel()
{
Index = ,
Name = "Index2"
});
testList.Add(new TestModel()
{
Index = ,
Name = "Index2"
});
testList = testList.Distinct().ToList();

上述程序语句中,虽然List集合testList中的第2个元素和第3个元素的属性值完全一样,但这2个元素依旧是不同的对象,因此在调用Distinct()方法去重后重新赋值,testList依旧不变。

备注:原文转载自博主个人站IT技术小趣屋,原文链接C#中通过Distinct方法对List集合进行去重_IT技术小趣屋

博主个人技术交流群:960640092,博主微信公众号如下:

最新文章

  1. Redis命令拾遗四(集合类型)—包含简单搜索筛选商品设计实例。
  2. 基于jQuery的自适应图片左右切换
  3. PHP实现linux命令tail -f
  4. Leetcode Valid Palindrome
  5. Java C# C语言中的占位符
  6. [转]Oracle 修改或者删除临时表 ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引
  7. memcached for windows 修改端口和最大内存,以及常用命令
  8. PHP API 框架开发的学习
  9. MVC Area Usage
  10. 共享内存shared pool (6):追踪sql语句
  11. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 3(Sorting/Searching)
  12. Geodesic-based robust blind watermarking method for three-dimensional mesh animation by using mesh segmentation and vertex trajectory
  13. JavaScript中值的真真假假(true and false)
  14. 国内不能使用Google解决方案(不断更新与递增中...)
  15. 电视盒子好用又强大的跨屏远程输入法 TVRemoteIME
  16. Java面试 32个核心必考点完全解析
  17. Qt5应用改变窗口大小时出现黑影
  18. gitlab 建立本地仓库
  19. poj 3254Corn Fields (入门状压dp)
  20. 部署DTCMS到Jexus遇到的问题及解决思路---部署

热门文章

  1. js中isNaN和Number.isNaN的区别
  2. TOMCAT到底能 承受多少并发,并发量计算你方法
  3. 为什么用ls和du显示出来的文件大小有差别?【转】
  4. RPC接口测试(二) RPC 与HTTP的区别
  5. 更新Alpine Linux源 sed -i &#39;s/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g&#39; /etc/apk/repositories apk add xxx
  6. Springboot属性加载与覆盖优先级与SpringCloud Config Service配置
  7. js写入和读取cookie
  8. JS高级:面向对象解析
  9. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器前端重构(五)- webpack + vue-router 开发单页面前端实现按需加载
  10. (转)自动微分(Automatic Differentiation)简介——tensorflow核心原理