Skillnad mellan versioner av "Lambdauttryck, LINQ och Delegater"

Från Mathonline
Hoppa till: navigering, sök
m
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(): Skapandet av en ny datatyp av typen <b><span style="color:red">delegate</span></b>. Ex.: <b>delegate void Dtype(string t);</b>  
+
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(): Deklaration av en delegat till den nya delegattypen. Ex.: <b>Dtype d;</b>
+
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?

Lambdauttryck.jpg

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

Lambda.jpg


Körexempel

LambdaKorex.jpg


Vad är LINQ?

LINQ.jpg


Programmet Delegate

Delegate.jpg

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.