lamda表达式
格式:( 形参列表 ) => { 函数体 }
作用:简化匿名方法的书写,可用在任何可使用匿名方法和强类型代理的地方;
例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lamda_expression
{
class Program
{
public delegate string mydelegate(string s);
static void Main(string[] args)
{
mydelegate d1;
d1 = delegate(string myarg) { Console.WriteLine("anonymous method output: {0}", myarg); return "anonymous method done"; };
d1 += ((string myarg) => { Console.WriteLine("lamda expression output: {0}", myarg); return "lamda ok"; });
Console.WriteLine("d1 output: {0}", d1("arg"));
}
}
}
输出:
anonymous method output: arg
lamda expression output: arg
d1 output: lamda ok
lamda expression output: arg
d1 output: lamda ok
从上面的输出还可以看到,d1代理了多个方法,只有调用d1("arg")时,才会执行前面绑定的两个匿名方法。
且把最后一个匿名方法的返回值,作为“d1 output:{0}”的值。
原文:http://www.cnblogs.com/smwikipedia/archive/2009/09/28/1575908.html