一开始用LINQ做了测试,看了Lambda后又重新写了一次,同时将其它一些新特性加了进去,就不单独测试了。三个测试类已在LINQ学习中给出,这里就不写了
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: 6: namespace LinqTest
7: {8: class Program
9: {10: static void Main(string[] args)
11: {12: //实现CatFamily的LIST泛型
13: 14: var _cat = new Cats();
15: var _tiger = new Tigers();
16: var lstCats =new List<CatFamily>(){ _cat, _tiger };
17: 18: Console.WriteLine("Lambda Test");
19: //通过Lambda查询出相应的子类
20: 21: lstCats.FindAll(getTiger => getTiger.GetType() == typeof(Tigers)).First().Miao();
22: lstCats.FindAll(getCat => getCat.GetType() == typeof(Cats)).First().Miao();
23: } 24: } 25: }同样未做是否为空的判断,总觉得14至16行还可以再做修改,但能力有限就先这样写吧,等学习深入后再改。
以上代码全部在vs2008下做的测试
浙公网安备 33010602011771号