当前位置: 代码网 > it编程>编程语言>Asp.net > C#之List集合去重复对象的实现方法

C#之List集合去重复对象的实现方法

2025年06月09日 Asp.net 我要评论
c# list集合去重复对象方法1、测试数据 list<string> str_list = new list<string> { "1", "2", "3", "3" ,"4

c# list集合去重复对象方法

1、测试数据

 list<string> str_list = new list<string> { "1", "2", "3", "3" ,"4","5","5"};

简单list去重

var distinctlist = str_list.distinct();

2、测试数据

var reginfolist= new list<reginfo>
{
    new reginfo { id=a1001, name="test1",desc="阿莫西林"},
    new reginfo { id=a1001, name="test1",desc="阿莫西林" },
    new reginfo { id=a1002, name="test2",desc="葡萄糖注射液"},
    new reginfo { id=b1003, name="test3",desc="氯化钠注射液"},
    new reginfo { id=c1002, name="test4",desc="吗丁啉"}
 };

2.1多属性去重(根据id,name进行distinct)

list<reginfo> distinctreginfo = reginfolist
  .groupby(p => new {p.id, p.name} )
  .select(g => g.first())
  .tolist();

2.2单属性去重(根据id进行distinct)

var distinctlist = reginfolist.groupby(x => x.id).select(y => y.first());
var distinctlist = reginfolist.groupby(x => x.id).select(y => y.firstordefault());

3、知识点补充

3.1 linq first 和 firstordefault的区别

first() 方法

  • 返回序列中的第一个元素。

firstordefault ()方法

  • 返回序列中的第一个元素;如果序列中不包含任何元素,则返回默认值 null。

注:

如果返回的是对象, 建议使用firstordefault ,并对返回的对象进行判空操作

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com