使用LINQ取代集合中的比较器和迭代器
在157前面出现实现迭代器的操作接口,但是扩展性太低,如果存在新的排序要求,必须实现新的比较器。
对代码的侵入性太高,为类型继承了接口,增加了新的方法。
List<Salary> companySalary = new List<Salary>() { new Salary(){Name = "Mike",BaseSalary=5600,Bonus = 1222 }, new Salary(){Name = "Lucye",BaseSalary=7000,Bonus = 6222 }, new Salary(){Name = "Minke",BaseSalary=4800,Bonus = 8902 }, new Salary(){Name = "Juninme",BaseSalary=4000,Bonus = 5112 }, new Salary(){Name = "Yingxing",BaseSalary=9000,Bonus = 2332 }, new Salary(){Name = "Plenybn",BaseSalary=4270,Bonus = 1562 }, }; Console.WriteLine("默认排序:"); foreach (Salary item in companySalary) { Console.WriteLine(item.ToString()); } Console.WriteLine(); Console.WriteLine("LINQ:BaseSalary的排序: "); var BaseSalaryLinq = from salary in companySalary orderby salary.BaseSalary select salary; foreach (var a in BaseSalaryLinq) { Console.WriteLine(a.ToString()); } Console.WriteLine(); Console.WriteLine("LINQ:Bonus的排序:"); var BonusSalary = from salary in companySalary orderby salary.Bonus select salary; foreach (var a in BonusSalary) { Console.WriteLine(a.ToString()); } Console.WriteLine("Hello World!");
其实就是:LINQ更加适合集合的查询,排序等操作。而且方便。
分类:
编写C#157建议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】