Egy lambda függvény tulajdonképpen egy egyszerhasználatos függvény?
Sejtem hogy gondolod a kérdés alapján, és tulajdonképpen úgy igen.
De lehet őket többször is használni, ha elnevezed őket valahogy.
Miért lenne egyszer használatos? :D Nagyon jó dolog a lamdba, olvashatobb és rövidebb lesz a kódod, illetve pl c# async/await-nél is nagyon jó.
C#-on tudom bemutatni egy valós példán (Magyar elnevezést használok a jobb megértésért)
Van egy adatbázisod, aminek mindegyiknek van egy id-ja.
csinálok egy ilyen interface-t:
interface IGenerikusLekerdezes<T>
{
Task<T> KerdezedLeIdAlapjan(int id);
}
aztán csinálunk egy osztályt és az interface-ből örököltetünk:
class Lekerdezesek<T> : IGenerikusLekerdezes<T> where T : class {}
De itt lehet a T : class helyett, az is lehet, hogyha tényleg minden adatbázis táblába szerepel egy id akkor, amikor a modelleket létrehozod, akkor az int id -t nem hozod létre, hanem létrehozol egy osztály, amely csak egy id-t tartalmaz és minden modell örökli azt az id-t ezzel már bármilyen lekérdezést az id alapján végre tudsz hajtani. :) Tehát erre módosul:
class Lekerdezesek<T> : IGenerikusLekerdezes<T> where T : IdOsztaly
{
public async Task<T> KerdezedLeIdAlapjan(int id)
{
using(adatbazisneved adatbazis = new adatbazisneved())
{
//CORE esetében EntityEntry, .NET esetében var
var entity = await adatbazis.Set<T>.FirstOrDefaultAsync(x => x.Id.Equals(id))
return entity;
}
}
}
Nost ezt bármikor bárhol felhasználhatod csak be kell helyettesítened azt az modell-t amit le akarsz kérdezni. :) Szóval többször is felhasználható.
Nem, a lambda egy egyszerű módot bizosít anonim metódus létrehozására. Ha akarod újrahasznosítod, ha nem akkor nem. Egyszerhasználatos függvénynek nincs értelme, ha egyszer akarod használni felesleges függvényt csinálni neki.
#3 itt hol a lambda..? Meg ha már kódot írsz told fel valami értelmes kód megosztó oldalra(pl pastebin) ha 1-2 sornál hosszabb pls.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!