码迷,mamicode.com
首页 > 其他好文 > 详细

Lambda

时间:2017-10-22 23:42:40      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:rom   str   public   family   list   try catch   异常   try   静态   

1.lambda就是一个匿名方法
2.委托约束
3.匿名类,实际框架编译的时候自动声明了一个类,但是类的属性都是只读的,只能一次性赋值。
4.var,类型推断,编译器自动识别变量类型。只能声明局部变量。多适用于系统类型,程序员不知道的类型,比如匿名类。
5.扩展方法:静态类静态方法,静态方法第一个参数类型为要扩展的类型名称,类型名前加this。实例方法优先级高于扩展方法:如果重名,会优先调用实例方法,所以扩展方法1不能滥用,2考虑重名问题。
6.Linq:实质上就是把一个匿名泛型委托当做一个参数传入使用了,匿名泛型委托封装一个where判定的逻辑。
7.linq本质 where扩展方法的自定义实现:
     public static IEnumerable<TSource> myWhere(this IEnumerable<TSource> source,Func<TSource,bool> predicate)
     {
          List<TSource> listRel=new List<TSource>();
          foreach(var item in TSource){
               if(predicate.Invoke(item)){
                    listRel.Add(item);
               }
          }
     }
8.linq语法糖:
     var list = from s in studentList
                where s.Age<30
                select s;
9.用户界面的东西,都要try catch,防止程序死掉或直接把异常抛给用户。

Lambda

标签:rom   str   public   family   list   try catch   异常   try   静态   

原文地址:http://www.cnblogs.com/chenxizhaolu/p/7712342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!