Lambda är det som man inom .NET kallar för anonyma funktioner.
Vanlig funktion:
public int Multiplicera(Int32 x, Int32 y)
{
return x * y;
}
Skillnaden mellan en vanlig funktion och en Lambda-funktion är att Lambda-funktionen är anonym, dvs den har inget namn.
Exemplet ovan skulle med Lambda-kod se ut såhär:
Som ni ser så har metoden inget namn, den är anonym.
Istället för att ge funktionen ett namn kan man lagra den i en variabel:
Func<int, int, int> Multiplicera = (x, y) => x * y;
Sedan kan man kalla på lambda-funktionen som tildelar värdet til variabeln:
int produkt = Multiplicera(10, 2);
När kan Lambda vara användbart?
Om vi exempelvis har en lista med 5st tal som vi vill skriva ut. Vi vet att List<>-klassen har metoden ForEach(), så vi väljer att använda den.
List<int> nummer = new List() { 1, 2, 3, 4, 5 };
//skriver ut alla tal i listan "nummer"
nummer.ForEach(n => Console.WriteLine(n));
Koden för att utföra detta blir väldigt liten och kompakt. Många av dessa funktioner kan vi tacka
LINQ för.
Just nu värderat 4.5 av 2 människor
- Currently 4,5/5 Stars.
- 1
- 2
- 3
- 4
- 5
C# .NET