拉姆达表达式常用于委托,也就是说拉姆达表达式是匿名函数,简单点就是函数。
a => a.Equals("string");
//原形为:
(a) => { return a.Equals("string");}
//相当于equals函数:
public bool equals(string a)
{
return a.Equals("string");
}
可创建委托:(三者等效)
Func<string, bool> del = a => a.Equals("string");
Func<string, bool> del = (a) => { return a.Equals("string");}
Func<string, bool> del = equals;
例1:
Func<string, bool> del = equals;
//表示传入的参数为string类型,返回类型为bool,使用的时候如这样:
if(del("string"))
Console.WriteLine("this is a string"); //结果输出为:this is a string
例2:
delegate int del(int i);
static void Main(string[] args)
{
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
}