拉姆達表達式常用於委托,也就是說拉姆達表達式是匿名函數,簡單點就是函數。
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 }