在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,博主微信公众号如下:

【转载】C#中通过Distinct方法对List集合进行去重的更多相关文章

  1. 【转载】C#中使用Insert方法往ArrayList集合指定索引位置插入新数据

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的I ...

  2. 【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中

    在C#的List集合操作中,有时候需要将List元素对象拷贝存放到对应的数组Array中,此时就可以使用到List集合的CopyTo方法来实现,CopyTo方法是List集合的扩展方法,共有3个重载方 ...

  3. 【转载】C#中使用Average方法对List集合中相应元素求平均值

    在C#的List集合操作中,有时候需要对List集合元素进行汇总求平均值,如数值类型的List集合元素,有时候对象类型的List集合也需要对集合中的元素的某个对象进行汇总求平均值,此时都可以使用到Av ...

  4. 【转载】 C#中使用Sum方法对List集合进行求和操作

    在C#的List操作中,有时候我们需要对List集合对象的某个属性进行求和操作,此时可以使用Lambda表达式中的Sum方法来快速实现此求和操作,使用Sum方法可使代码简洁易读,并且省去写for循环或 ...

  5. 【转载】 C#中使用Count方法获取List集合中符合条件的个数

    很多时候操作List集合的过程中,我们需要根据特定的查询条件,获取List集合中有多少个实体对象符合查询条件,例如一批产品的对象List集合,如果这批产品的不合格数量大于10则重点备注.在C#中可以自 ...

  6. 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...

  7. str中的join方法,fromkeys(),set集合,深浅拷贝(重点)

    一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天",& ...

  8. 利用Bag中的getCount()方法统计list集合中重复元素

    实际应用场景:从Excel导入数据时,存在某个标识符相同的多条数据,需要进行合并,因此需要统计重复元素,可以利用Bag包下的getCount()进行统计,代码如下: package test.com. ...

  9. 误用 Kotlin 中的 sortedWith() 方法排序,集合没有变化

    时间:2019年8月4日14:17:06问题描述:看下边的小例子: data class Man(val name: String, val age: Int, val type: Int) fun ...

随机推荐

  1. K8S API对象

    POD Pod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的.Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合 ...

  2. 东软HIS系统_打印发票提示“打印机报错!对访问XXX的设置无效”解决办法

    发票打印报错 添加打印机,端口跟物理打印机同一个. 添加 MZJSFP,ZYJSFP,YJJFP三个打印机 打印发票错位 设置自定义纸张 MZJSFP 宽30.40CM 高12.94CM ZYJSFP ...

  3. spring boot +dubbo+zookeeper

    dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 结合本公司的开发也是用的dubbo这款优秀的框架,加上 最近工作重心的.所以对于dubbo的 ...

  4. 最精简使用MORMOT

    MORMOT是免费开源的SDK,它封装了HTTP.SYS,这是许多人使用它的原因,让人难以想像的是它居然支持DELPHI6及以上版本. 但MORMOT本身已经被封装的很庞大,它提供许多的单元,这让人不 ...

  5. NamedPipeStream的使用案例

    NamedPipeStream的使用具体案例如下: using System; using System.Data; using System.Data.SQLite; using System.IO ...

  6. [转]Maven 国内源配置(2019/2/14)

    原文地址:https://segmentfault.com/a/1190000018147680 新年开工后要开始新的项目,但是发现一些项目的依赖没有在阿里仓库Central或Public源之中,项目 ...

  7. ISO/IEC 9899:2011 条款6.10——预处理指示符

    6.10 预处理指示符 语法 1.preprocessing-file: groupopt group: group-part group    group-part group-part: if-s ...

  8. 3秒钟unittest入门使用

    一:unittest跑起来 unittest使用,具体使用方式可以查看unittest官网,以下简单做个介绍,在工作中使用最多的 # 第一步: 创建unittest类,且一定要继承unittest.T ...

  9. [LeetCode] 270. Closest Binary Search Tree Value 最近的二叉搜索树的值

    Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...

  10. [LeetCode] 340. Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串

    Given a string, find the length of the longest substring T that contains at most k distinct characte ...