Lambda表达式的演变

1.0版本
        static bool query(Pig p)    //表达式
        {
            //设置一个选择的条件
            return p.Age > 800;
        }

 List<Pig> piglist = GetPigList();
            piglist.FindAll(query);  //传入表达式
2.0 版本

piglist.FindAll(delegate(Pig p) { return p.Age > 800; });  
   //传入匿名委托
3.0 版本

piglist.FindAll((Pig p) => { return p.Age > 800; });

 //省略2.0版本冗余代码
4.0 版本

            //省略return关键字
            piglist.FindAll((Pig p) => p.Age > 800);
5.0 版本       
           //省略类型参数
            List<Pig> newList = piglist.FindAll(p => p.Age > 800);
            piglist.Where(p => p.Age > 800);
            //表达式将来在编译之后成了:Linq表达式


            //from p in GetPigList()
            //where p.Age > 800
            //select p;

 

posted on 2015-04-02 09:56  ianism  阅读(200)  评论(0编辑  收藏  举报

导航