【转载】C#中通过Distinct方法对List集合进行去重
程序员文章站
2022-05-15 13:46:50
在C#的List集合对象中,可以使用Distinct方法来对List集合元素进行去重,如果list集合内部元素为值类型,则Distinct方法根据值类型是否相等来判断去重,如果List集合内部元素为引用类型变量,则是判断相同引用的对象为相同进行List集合元素去重操作。 (1)值类型的List
在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>() { 1, 1,2,2,3,4,5}; 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=1, name="index1" }); testlist.add(new testmodel() { index = 2, name = "index2" }); testlist.add(new testmodel() { index = 2, name = "index2" }); testlist = testlist.distinct().tolist();
上述程序语句中,虽然list集合testlist中的第2个元素和第3个元素的属性值完全一样,但这2个元素依旧是不同的对象,因此在调用distinct()方法去重后重新赋值,testlist依旧不变。
备注:原文转载自博主个人站it技术小趣屋,原文链接c#中通过distinct方法对list集合进行去重_it技术小趣屋。
推荐阅读
-
【转载】C#中使用Average方法对List集合中相应元素求平均值
-
【转载】C#中通过Distinct方法对List集合进行去重
-
【转载】C#中List集合使用Reverse方法对集合中的元素进行倒序反转
-
利用Distinct()内置方法对List集合的去重问题详解
-
【转载】 C#中List集合使用OrderByDescending方法对集合进行倒序排序
-
Python对list列表结构中的值进行去重的方法总结
-
【转载】C#中使用OrderBy和ThenBy等方法对List集合进行排序
-
【转载】 C#中使用Sum方法对List集合进行求和操作
-
利用Distinct()内置方法对List集合的去重问题详解
-
【转载】C#中List集合使用Reverse方法对集合中的元素进行倒序反转