本文主要是介绍C#之List集合去重复对象的实现方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教...
C# List集合去重复对象方法
1、测试数据
List<string> str_lisandroidt = new List<striwww.chinasem.cnng> { "1", "2", "3", China编程"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="氯化钠China编程注射液"},
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。
注:
如果返回的是对象, 建议js使用FirstOrDefault ,并对返回的对象进行判空操作
总结
这篇关于C#之List集合去重复对象的实现方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!