C# List去重的几种方法
2022/4/14 11:12:36
本文主要是介绍C# List去重的几种方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
List<User> users = new List<User>(); users.Add(new User("张三", "永丰路299号")); users.Add(new User("张三", "上地西路8号"));//重复项,去重后将删掉 users.Add(new User("李四", "海鹰路甲一号")); 第一种用字典筛选 Dictionary<string,User> dic = new Dictionary<string,User>(); users.ForEach(s=>{if(!dic.ContainsKey(s.name)) dic[s.name]=s;}) 第二种使用 users.Where((x,i)=>users.FindIndex(s=>s.name==x.name)==i).ToList(); 这条语句返回结果只保留这个List中重复的元素的第一个(name相同认为重复) 第三种 自定义去重器 public class Compare:IEqualityComparer<User> { public bool Equals(User x,User y) { return x.name == y.name;//可以自定义去重规则,此处将name相同的就作为重复记录,不管其他是什么 //return (t1.Name== t2.Name && t1.Sex== t2.Sex && t1.Age== t2.Age); } public int GetHashCode(User ovj) { return obj.name.GetHashCode(); //return t.ToString().GetHashCode(); } }
users.Distinct(new Compare()).ToList();
这篇关于C# List去重的几种方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具