一开始用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下做的测试

posted on 2007-08-31 23:13  forrestsun  阅读(385)  评论(2编辑  收藏  举报