Lambdauttryck, LINQ och Delegater

Från Mathonline
Version från den 20 april 2022 kl. 10.33 av Taifun (Diskussion | bidrag)

Hoppa till: navigering, sök
       Lektion 27          Genomgång          Övningar      


Vad är Lambdauttryck?

Lambdauttryck.jpg

Lambdauttryck har inga namn. Därför kallas de även anonyma funktioner.

Lambdauttryck anropas på samma ställe som de definieras, vilket leder till en stor effektivitet.

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

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.

Namngivningen kan bli nödvändigt, när delegater skickas som parametrar till andra metoder.


Körexempel

DelegateKorexa.jpg


Läs om Lambdauttryck, LINQ och Delegater i kursboken på sid 178-180.


 










Copyright © 2021 TechPages AB. All Rights Reserved.