C# 3.0 - Lambda

作者:vkvi 来源:千一网络(原创) 日期:2009-8-16

注意是 lambda,而不是 lamda。

Lambda 最显著的标志是有个“=>”:Lambda 表达式可以看作一个函数;“=>”左边是参数,没有参数或多个参数时,使用小括号括起来;右边是函数体,必要时使用大括号括起来。

int[] arr = new int[] { 1, 2, 3, 4 };
Response.Write(arr.Count(n => n > 2)); // 2

arr.Count 有两个重载函数,其中第二个就是一个 Func,我们就是用了第二个重载函数。

上面的式子表示:数组中符合 n > 2 的项目有多少个。1、2、3、4 中,只有 3 和 4 符合大于 2 的条件,所以结果为 2。

再看一个例子:

public partial class _Default : System.Web.UI.Page
{
    delegate int Foo(int m); // 委托,台湾译为委派。
    
    protected void Page_Load(object sender, EventArgs e)
    {
        Foo foo = n => n * n;
        Foo foo2 = n => n * n * n;
        Response.Write(foo(5).ToString()); // 25
        Response.Write("<br>");
        Response.Write(foo2(5).ToString()); // 125
    }
}

如果不返回值,还可以再简单点,比如:

应用示例:霸道的 Lambda 事件处理程序表达式

你前面那位网友看了:CSS 中规定的五种一般字体家族(serif、sans-serif 等)

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
  • 1 楼:评论
    good!
    thank you!
  • 2 楼:2010年5月26日 17:46:38

    ╭︿︿︿╮
    {/ ·· /}
    ( (00) )
      ︶︶︶
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他