Syntaks:
- Lambda-uttrykk: (parametere) => uttrykk
- Lambda-erklæring: { betinget setning1 setning2 … }
Eksempel 1:
Lag 'gjødsel'-listen som inneholder fem strenger. Bruk lambda-uttrykket som returnerer alle strengene fra listen.
ved hjelp av System ;ved hjelp av System.Linq ;
ved hjelp av System.Samlinger.Generisk ;
klasse LambdaExpressionEksempel {
statisk offentlig tomrom Hoved ( )
{
// Lag liste over gjødsel
Liste gjødsel = ny Liste ( ) ;
gjødsel . Legg til ( 'urea' ) ;
gjødsel . Legg til ( 'nitrogen' ) ;
gjødsel . Legg til ( 'kalium' ) ;
gjødsel . Legg til ( 'Di-ammoniumfosfat' ) ;
gjødsel . Legg til ( 'fosfor' ) ;
// Bruk LambdaExpression for å velge alle gjødslene
var resultat = gjødsel . Plukke ut ( inp1 => inp1 ) ;
for hver ( var Jeg i resultat )
{
Konsoll . WriteLine ( Jeg ) ;
}
}
}
Produksjon:
Forklaring:
1. Lag en liste over strengtype kalt 'gjødsel'. Legg til fem strenger til denne listen.
2. Bruk lambda-uttrykket for å velge alle gjødslene. Her brukes uttrykket med 'Select'-operatoren. Uttrykket er inp1 => inp1. Deretter bruker vi 'foreach'-løkken for å vise strengene som returneres av lambda-uttrykket.
Eksempel 2:
Bruk lambda-uttrykket for å velge gjødsel som inkluderer 'fosfat'.
ved hjelp av System ;ved hjelp av System.Linq ;
ved hjelp av System.Samlinger.Generisk ;
klasse LambdaExpressionEksempel {
statisk offentlig tomrom Hoved ( )
{
// Lag liste over gjødsel
Liste gjødsel = ny Liste ( ) ;
gjødsel . Legg til ( 'urea' ) ;
gjødsel . Legg til ( 'nitrogen' ) ;
gjødsel . Legg til ( 'orto - fosfat' ) ;
gjødsel . Legg til ( 'Di-ammoniumfosfat' ) ;
gjødsel . Legg til ( 'fosfor' ) ;
// Bruk LambdaExpression for å velge gjødsel som inkluderer – «fosfat»
var resultat = gjødsel . Hvor ( inp1 => inp1 . Inneholder ( 'fosfat' ) ) ;
for hver ( var Jeg i resultat )
{
Konsoll . WriteLine ( Jeg ) ;
}
}
}
Produksjon:
Det er to strenger som inkluderer 'fosfat' i dem.
Forklaring:
1. Lag en liste over strengtype kalt 'gjødsel'. Legg til fem strenger til denne listen.
2. Her brukes uttrykket med 'Hvor'-operatoren. Uttrykket er inp1 => inp1.Contains(“Fosfat”). Deretter bruker vi 'foreach'-løkken for å vise strengene som returneres av lambda-uttrykket.
Eksempel 3:
La oss ha en liste (ordre_quantity) som inneholder tre bestillinger. Spesifiser lambda-uttrykket for å legge til 5 til hver ordre.
ved hjelp av System ;ved hjelp av System.Linq ;
ved hjelp av System.Samlinger.Generisk ;
klasse LambdaExpressionEksempel {
statisk offentlig tomrom Hoved ( )
{
// Lag liste over mengder
List order_quantity = ny Liste ( ) ;
bestillings antall . Legg til ( 5 ) ;
bestillings antall . Legg til ( 7 ) ;
bestillings antall . Legg til ( 8 ) ;
// Bruk LambdaExpression til 5 til hver ordre.
var resultat = bestillings antall . Plukke ut ( inp1 => inp1 + 5 ) ;
for hver ( var Jeg i resultat )
{
Konsoll . WriteLine ( Jeg ) ;
}
}
}
Produksjon:
[5,7,8]-listen er transformert til [10,12,13].
Forklaring:
1. Lag listen over mengder av typen heltall.
2. Vi velger først bestillingene og legger deretter til 5 til hver bestilling. Så, 'Velg'-operatoren brukes. Uttrykket er inp1 => inp1 + 5.
Eksempel 4:
Opprett en listedatakilde av hendelsestype (med tre attributter – Event_Name, Event_Status og Event_Budget) og returner postene med Event_Budget som er større enn 5000.
ved hjelp av System ;ved hjelp av System.Linq ;
ved hjelp av System.Samlinger.Generisk ;
// Lag en klasse kalt - 'Event_Source' med 5 hendelser.
offentlig klasse Event_Source
{
offentlig statisk tomrom Hoved ( )
{
// Hendelsesliste
IList hendelser = ny Liste ( ) {
ny Begivenhet ( ) { Arrangementsnavn = 'Teknisk leir' ,Hendelsesstatus = 'Planlagt' ,Event_Budsjett = 10 000 } ,
ny Begivenhet ( ) { Arrangementsnavn = 'Markedsføringsleir' ,Hendelsesstatus = 'Fullført' ,Event_Budsjett = 5000 } ,
ny Begivenhet ( ) { Arrangementsnavn = 'Annen' ,Hendelsesstatus = 'Planlagt' ,Event_Budsjett = 1000 } ,
ny Begivenhet ( ) { Arrangementsnavn = 'Politikk' ,Hendelsesstatus = 'Planlagt' ,Event_Budsjett = 13000 } ,
ny Begivenhet ( ) { Arrangementsnavn = 'Finansiere' ,Hendelsesstatus = 'Fullført' ,Event_Budsjett = 20 000 } ,
} ;
//Event_Budget større enn 5000.
var resultat = arrangementer . Hvor ( inp1 => inp1 . Event_Budsjett > 5000 ) ;
for hver ( var Jeg i resultat ) {
Konsoll . WriteLine ( 'NAVN: ' + Jeg . Arrangementsnavn + ' STATUS: ' + Jeg . Event_Status + ' BUDSJETT: ' + Jeg . Event_Budsjett ) ;
}
}
}
offentlig klasse Begivenhet {
offentlig streng Arrangementsnavn { få ; sett ; }
offentlig streng Event_Status { få ; sett ; }
offentlig int Event_Budsjett { få ; sett ; }
}
Produksjon:
Det er tre poster i 'events'-listen med Event_Budget større enn 5000.
Forklaring:
1. Først lager vi en 'Event'-klasse med tre attributter.
2. Deretter lager vi en liste over fem hendelser.
3. Ved å bruke inp1 => inp1.Event_Budget > 5000 lambda-uttrykk, velger vi postene med Event_Budget større enn 5000.
Eksempel 5:
Bruk forrige kode og endre lambda-uttrykket. Returner hendelsene med Event_Name som slutter med 'Camp' og med Event_Status som er 'Planned'.
//Lambda-uttrykk - Event_Name slutter med 'Camp' og Event_Status er 'Planned'.var resultat = arrangementer . Hvor ( inp1 => inp1 . Arrangementsnavn . Slutter med ( 'Leir' ) && inp1 . Event_Status == 'Planlagt' ) ;
for hver ( var Jeg i resultat ) {
Konsoll . WriteLine ( 'NAVN: ' + Jeg . Arrangementsnavn + ' STATUS: ' + Jeg . Event_Status + ' BUDSJETT: ' + Jeg . Event_Budsjett ) ;
}
Produksjon:
Det er kun én rekord som tilfredsstiller begge betingelsene.
Forklaring:
Her spesifiserer vi to forhold i lambda-uttrykket. Operatoren && (og) brukes til å gjøre de to betingelsene som sanne. Den første betingelsen bruker EndsWith()-metoden for å sjekke om en streng slutter med den gitte strengen. Den andre betingelsen bruker 'Sammenligning'-operatoren (==) for å sjekke om begge verdiene er like eller ikke.
Konklusjon
I C# tar lambda-uttrykket uttrykkene/betingede utsagn som sin kropp uten navn. Vi må spesifisere parametrene. Deretter blir uttrykkene tilordnet den. I utgangspunktet brukes disse til å filtrere postene fra den gitte datakilden, transformere elementene og velge elementene fra datakilden/sekvensen. I denne veiledningen diskuterte vi de fem forskjellige eksemplene som velger, filtrerer og transformerer elementene ved å bruke lambda-uttrykket.