Skillnad mellan versioner av "Lambdauttryck, LINQ och Delegater"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 20: | Rad 20: | ||
Den traditionella kodningen av <b>korta</b> funktioner som metoder, dvs som medlemmar i en klass, | Den traditionella kodningen av <b>korta</b> funktioner som metoder, dvs som medlemmar i en klass, | ||
− | medför en overhead av exekveringstid, t.ex. parameteröverföringen. | + | medför en overhead av både utvecklings- och exekveringstid, t.ex. parameteröverföringen. |
</big> | </big> | ||
</div> | </div> |
Versionen från 13 april 2021 kl. 08.09
Lektion 27 | Genomgång | Övningar |
Vad är Lambdauttryck?
Lambdauttryck har inga namn. Därför kallas de även anonyma funktioner.
Motivationen:
Den traditionella kodningen av korta funktioner som metoder, dvs som medlemmar i en klass,
medför en overhead av både utvecklings- och exekveringstid, t.ex. parameteröverföringen.
Programmet Lambda
Körexempel
Vad är LINQ?
Programmet Delegate
En delegat skapas i två steg:
1) Utanför Main() skapas en ny datatyp av typen delegate. Ex.: delegate void Dtype(string t);
2) I Main() deklareras en delegat d till den nya delegattypen Dtype. Ex.: Dtype d;
Sedan används delegaten d för att namnge ett lambdauttryck (anonym funktion).
Sist anropas den anonyma funktionen med delegatens namn.
Namngivningen kan bli nödvändigt, när delegater skickas som parametrar till andra metoder.
Körexempel
Läs om Lambdauttryck, LINQ och Delegater i kursboken på sid 158-160.
Copyright © 2021 TechPages AB. All Rights Reserved.