Lambda表達式

定義:
可以將lambad表達式 理解為匿名函數(shù)的簡寫,它除了寫法不同外,使用上和匿名函數(shù)一模一樣,都是和委托或者事件配合使用的。
lambad表達式:
(參數(shù)列表) =>
{
函數(shù)體
};
使用:
無參無返回:
?Action a = () =>{};
有參:
Action<int> a2 = (int value) =>{};
甚至參數(shù)類型都可以省略參數(shù)類型和委托或事件容器一致:
Action<int> a3 = (value) =>{};
有返回值:
?Func<string, int> a4 = (value) =>{return xxx};
閉包:
內(nèi)層的函數(shù)可以引用包含在它外層的函數(shù)的變量
即使外層函數(shù)的執(zhí)行已經(jīng)終止
注意:
該變量提供的值并非變量創(chuàng)建時的值,而是在父函數(shù)范圍內(nèi)的最終值。