Lambda kifejezések (Programming Guide c #)
=> Operator ugyanolyan elsőbbséget a kiosztás (=), és a társult jobbra (lásd. Szakasz „asszociatív” üzemeltetői a cikket).
Lambda üzemeltetők használt LINQ lekérdezés szintaxisa módszerek paraméterként standard módszer lekérdezés szolgáltatók, mint például hol.
Amikor használja a szintaxis módszereken alapul, hogy indítsunk egy módszer Amennyiben Class Enumerable (mint a LINQ to Objects és a LINQ to XML) paraméter az a típusú küldött rendszer. Func
Megjegyezzük, hogy a fenti példában aláírás megbízottja van egy implicit bemeneti paraméter int típusú és visszaad egy értéket int típusú. A lambda kifejezés átalakítható a küldött megfelelő típusú, mivel ez is az egyik bemeneti paraméter (x), és visszaadja az érték, amely a fordító tud implicit alakítjuk int típusú. (Következtetés típusok tárgyaljuk részletesebben a következő részekben.) A megbízott által okozott bemeneti paraméter, 5, 25 visszatér az eredmény.
Lambda kifejezések nem engedélyezettek a bal oldalon van, vagy üzemeltetője.
Korlátozások nem vonatkoznak a névtelen módszereket is alkalmazni kell lambda kifejezéseket. További információkat. Lásd Anonymous módszerek (programozási útmutató C #).
Lambda kifejezés egy expressziós a jobb oldalán az üzemeltető => nevezzük egy expressziós lambda. Lambda-expresszió széles körben használják a létrehozása az ilyen szerkezetek, mint a kifejezés Fák (C # és Visual Basic). Kifejezések Lambda kifejezések és visszatér az eredménnyel a következő általános formában:
Továbbá, lambda kifejezéseket lehet használni, ha az argumentum típusú Expression
Példa a szabvány az üzemeltető kérésére, az eljárás Count. alább látható:
A fordító lehet következtetni, hogy milyen típusú bemeneti paraméter; és ez lehet meghatározni explicit módon. Ez különösen a lambda megszámlálja az egész (n), amelyek, ha osztva két maradékot kapunk 1.
A következő kódsort sorozatát hozza létre, amely tartalmazza mindazokat az elemeket a tömb a számok. balra 9, mert ez az első szám a sorozatban nem kielégítő:
A következő szabályok vonatkoznak a változó alkalmazási körét a lambda kifejezéseket.
Elfogott változó nem lehet megsemmisíteni a szemétgyűjtő, amíg a résztvevő, amely hivatkozik, ne menjen be az állapotot kell megsemmisíteni szemétgyűjtés.
Egy változtatható bejelentett egy lambda kifejezés, nem látható a külső módszerrel.
A lambda kifejezés nem lehet közvetlenül rögzíteni ref vagy ki paraméterek a módszert, amelyben találhatók.
Return utasítás egy lambda kifejezés nem vezet a visszatérő (befejezés) eljárás, amelyben a bejelentett / úgynevezett lambda kifejezés.
Lambda kifejezés nem tartalmaz goto utasítást. Egy kis szünetet, vagy továbbra nyilatkozat belül Lambda funkció, ha a céltárgy ki az átmeneti blokk. Ha a célpont a blokkon belül, akkor a jelenlévő átmeneti üzemeltető kívül lambda funkció szintén egy hibát.