Skillnad mellan versioner av "Lambdauttryck, LINQ och Delegater"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 46: | Rad 46: | ||
En <b><span style="color:red">delegat</span></b> skapas i två steg: | En <b><span style="color:red">delegat</span></b> skapas i två steg: | ||
− | 1) Utanför Main() | + | 1) Utanför Main() skapas en ny datatyp av typen <b><span style="color:red">delegate</span></b>. Ex.: <b>delegate void Dtype(string t);</b> |
− | 2) I Main() | + | 2) I Main() deklareras en delegat d till den nya delegattypen Dtype. Ex.: <b>Dtype d;</b> |
</big> | </big> | ||
+ | |||
+ | Sedan används delegaten d för att namnge ett lambdauttryck (anonym funktion). | ||
+ | |||
+ | Sist anropas den anonyma funktionen med delegatens namn. | ||
</div> | </div> | ||
Versionen från 31 mars 2021 kl. 10.35
Lektion 27 | Genomgång | Övningar |
Vad är Lambdauttryck?
Den traditionella kodningen av korta funktioner som metoder, dvs som medlemmar i en klass) medför en overhead av exekveringstid.
Lambdauttryck slipper exekveringstiden för parameteröverföring.
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.
Läs om Lambdauttryck, LINQ och Delegater i kursboken på sid 158-160.
Copyright © 2021 TechPages AB. All Rights Reserved.