目錄
1、lambda簡介
2、lambda應用闡述
3、func委託
4、lambda表示式樹動態建立方法
lambda運算子:所有的lambda表示式都是用新的lambda運算子 " => ",可以叫他,「轉到」或者 「成為」。運算子將表示式分為兩部分,左邊指定輸入引數,右邊是lambda的主體。
lambda表示式:
1.乙個引數:param=>expr
2.多個引數:(param-list)=>expr
上面這些東西,記著,下面我們開始應用並闡述lambda,讓你樂在其中。
//namespace 闡述lambda
public int age
}class program
;persons.add(p);
}return persons;
}static void main(string args)}}
看啦上面的例子,相信你能看出它確實是個甜棗,呵呵,下面我們來看下(p=>p.age>6)這樣的表示式,到底是怎麼回事。。
首先我們看下委託
//委託 逛超市
delegate int guangchaoshi(int a);
static void main(string args)
//結賬
public static int jiezhang(int a)
再看表示式:
//委託 逛超市
delegate int guangchaoshi(int a);
static void main(string args)
委託跟表示式的兩段**,我們可以看出一些東東吧:其實表示式(p => p + 10;)中的 p 就代表委託方法中的引數,而表示式符號右邊的 p+10,就是委託方法中的返回結果。 大俠繞道,小蝦理解下。
下面再上兩個稍微複雜點的理解理解。
1.多引數的
//委託 逛超市
delegate int guangchaoshi(int a,int b);
static void main(string args)
2. lambda主體運算複雜
/// /// 委託 逛超市
///
/// 花費
/// 付錢
/// 找零
delegate int guangchaoshi(int a,int b);
static void main(string args)
else
};console.writeline(gwl(10,100) + ""); //列印80,z對應引數b,p對應引數a
console.readkey();
}
上面這些例子,好好理解下,下面我要介紹乙個系統指定的 fun委託。
t 是引數型別,這是乙個泛型型別的委託,用起來很方便的。
先上例子
static void main(string args)
說明:我們可以看到,這裡的p為int 型別引數, 然而lambda主體返回的是string型別的。
再上乙個例子
static void main(string args)
return false;
};console.writeline(gwl(5,5) + ""); //列印『true』,z對應引數b,p對應引數a
console.readkey();
}
說明:從這個例子,我們能看到,p為int型別,j為int型別,返回值為bool型別。
static void main(string args)
這段**,放上來,仔細理解下,理解透徹啦,lambda表示式基本上也沒什麼啦。呵呵。。
算啦,我還是畫個圖算是結尾吧,以便於理解。
上段**的lambda表示式樹,圖。
Lambda表示式詳解
1 天真熱,程式設計師活著不易,星期天,也要頂著火辣辣的太陽,總結這些東西。2 夸夸lambda吧 簡化了匿名委託的使用,讓你讓 更加簡潔,優雅。據說它是微軟自c 1.0後新增的最重要的功能之一。lambda運算子 所有的lambda表示式都是用新的lambda運算子 可以叫他,轉到 或者 成為 運...
Lambda表示式詳解
1 天真冷啊,程式設計師活著不易,星期天,也要嗖嗖的北風,總結這些東西。2 夸夸lambda吧 簡化了匿名委託的使用,讓你讓 更加簡潔,優雅。據說它是微軟自c 1.0後新增的最重要的功能之一。lambda運算子 所有的lambda表示式都是用新的lambda運算子 可以叫他,轉到 或者 成為 運算子...
Lambda表示式詳解
lambda表示式在很多語言中應用,lambda表示式可以當作委託中的一種變形,委託的構建方便程式設計人員能夠在程式中傳入函式,相當於回掉函式。lambda表示式可以方便的構造匿名函式,如果 中裡面存有大量小的功能函式,而這些函式只被呼叫一次,不妨將他們重構成lambda表示式。比如需要計算a b,...