使用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更加适合集合的查询,排序等操作。而且方便。

posted @   Wen_Chen  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示