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)
{
mydelegated1;
d1 = delegate ( string myarg){Console.WriteLine( " anonymousmethodoutput:{0} " ,myarg); return " anonymousmethoddone " ;};
d1 += (( string myarg) => {Console.WriteLine( " lamdaexpressionoutput:{0} " ,myarg); return " lamdaok " ;});
Console.WriteLine( " d1output:{0} " ,d1( " arg " ));
}
}
}
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)
{
mydelegated1;
d1 = delegate ( string myarg){Console.WriteLine( " anonymousmethodoutput:{0} " ,myarg); return " anonymousmethoddone " ;};
d1 += (( string myarg) => {Console.WriteLine( " lamdaexpressionoutput:{0} " ,myarg); return " lamdaok " ;});
Console.WriteLine( " d1output:{0} " ,d1( " arg " ));
}
}
}
输出:
anonymousmethodoutput:arg
lamdaexpressionoutput:arg
d1output:lamdaok
lamdaexpressionoutput:arg
d1output:lamdaok
从上面的输出还可以看到,d1代理了多个方法,只有调用序列中最后一个方法的返回值作为d1的返回值。
原文:http://www.cnblogs.com/smwikipedia/archive/2009/09/28/1575908.html