Zdravím, vie mi niekto prosím vysvetliť tento výraz?
bool vyskyt = Array.Exists(pole, element => element == hladaneCislo)
Takúto syntax vidím po 1x, čo znamená konkrétne ten parameter "element => element == hladaneCislo"?
ďakujem :)
Zdravím, vie mi niekto prosím vysvetliť tento výraz?
bool vyskyt = Array.Exists(pole, element => element == hladaneCislo)
Takúto syntax vidím po 1x, čo znamená konkrétne ten parameter "element => element == hladaneCislo"?
ďakujem :)
#1 PeterSura
Lambda funkcia
#1 PeterSura
Ano, jedná se o lambda funkce a objevují se čím dál častěji :)
Tvá funkce se dá česky popsat asi takto:
prohledej pole a zjisti, jestli se zde nachází prvek "element", který je roven hledanému číslu.
Možná tě mate ten "element", ve výsledku je to proměnná, kterou si zavádíš ty sám, tzn. že stejně tak můžeš napsat toto:
bool vyskyt = Array.Exists(pole, x => x == hladaneCislo)
Lamba výrazy celkem často využívám při komunikaci s DB.
Pokud přistupuješ ke kolekci, která je silně typová, tak pak můžeš kontrolovat jednotlivé prvky toho daného typu a podmínky skládat stejně jako kdyby si dělal klauzuli IF
string supplierId = "supplier";
var solutions = Repository.GetAll<Solution>(s => s.ID_Supplier == supplierId && s.UpdatedDate > DateTime.Now.AddDays(-7));
Neboli vrať mi všechny řešení pro dodavatele "supplier", které byly změněny za poslední týden.
Takhle teoreticky to vypadá složitě, ale jakmile to začneš používat, tak zjistíš, že to není žádná magie.
Evžen
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku