拉姆达表达式常用于委托,也就是说拉姆达表达式是匿名函数,简单点就是函数。
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 }