当前位置: 移动技术网 > IT编程>开发语言>.net > 【转载】C#中通过Distinct方法对List集合进行去重

【转载】C#中通过Distinct方法对List集合进行去重

2019年06月16日  | 移动技术网IT编程  | 我要评论

美贝健海狗人参丸,吸血鬼日记第二季下载,儿童公主裙套装

在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技术小趣屋

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网