it编程 > 编程语言 > Asp.net

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

9人参与 2025-06-09 Asp.net

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 ()方法

注:

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

总结

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

(0)

您想发表意见!!点此发布评论

推荐阅读

C#如何去掉文件夹或文件名非法字符

06-09

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

06-09

C#垃圾回收的优化实践

06-11

C#提取文件时间戳实现实现与性能优化

06-08

C#为啥优先使用readonly而非const解读

06-12

Nacos注册中心和配置中心的底层原理全面解读

06-06

猜你喜欢

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

发表评论