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