CSharp——Lambda 表达式

1、定义:

           a、Lambda 表达式是一个匿名表达式。

           b、可以包含表达式和语句

           c、可用于创建委托或表达式目录树类型

           d、语法:Input params => Expression or Code Block. (左边是数据参数,右边是表达式或语句块。)

                          Eg:

           //多个参数            (x, y) => x == y            //No params            (int x, string s) => s.Length > x            //无参数,注:只有一个参数时才能省略掉括号:x => x*x             () => SomeMethod()             //语句块。 注:语句块中使用了大括号。             (input parameters) => {statement;}
     注:Lambda 语句同匿名方法一样无法用于创建表达式目录树。
2、简单用途

       a、委托中使用(Lambda表达式)

       delegate int del(int i);
       del myDelegate = x => x * x;
       int j = myDelegate(5); //j = 25

       b、委托未使用(Lambda表达式)

       delegate int del(int i);
       del myDelegate = delegate(int i) {i*i };  //匿名方法
       int j = myDelegate(5); //j = 25
    c、创建表达式目录树类型:
         using System.Linq.Expressions;
         // ...
         Expression<del> = x => x * x;
posted @ 2009-03-15 09:17  俩醒叁醉  阅读(1732)  评论(0编辑  收藏  举报