Aký je rozdiel medzi single a SingleOrDefault v Linq?
Aký je rozdiel medzi single a SingleOrDefault v Linq?

Video: Aký je rozdiel medzi single a SingleOrDefault v Linq?

Video: Aký je rozdiel medzi single a SingleOrDefault v Linq?
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, November
Anonim

Slobodný () - Existuje presne 1 výsledok, výnimka je vyvolaná, ak nie je vrátený žiadny výsledok alebo je viac ako jeden výsledok. SingleOrDefault () - Rovnaké ako Slobodný (), ale dokáže spracovať hodnotu null. First() - Existuje aspoň jeden výsledok, ak sa nevráti žiadny výsledok, vyvolá sa výnimka.

Aké sú rozdiely medzi metódami single () a SingleOrDefault ()?

The Metóda SingleOrDefault() . robí to isté ako Single() metóda . Jediný rozdiel je, že vráti predvolenú hodnotu typu údajov kolekcie, ak je kolekcia prázdna, obsahuje viac ako jeden prvok alebo nenájde žiadny prvok alebo viac ako jeden prvok pre zadaný stav.

Čo je tiež jednoduché alebo predvolené v Linq? Sémantický rozdiel: FirstOrDefault vráti prvú položku z potenciálne viacerých (alebo predvolená ak žiadna neexistuje). SingleOrDefault predpokladá, že existuje a slobodný tovar a vráti ho (príp predvolená ak žiadna neexistuje). Viaceré položky sú porušením zmluvy, vyhodí sa výnimka.

Aký je teda rozdiel medzi prvým a jedným v Linq?

najprv () vyhodí, ak nemôže nájsť najprv zodpovedajúca hodnota, Slobodný () vyhodí, ak nemôže nájsť hodnotu a ak je vo vstupnej sekvencii viac ako jeden zodpovedajúci prvok. Preto majú sesterské funkcie tzv FirstOrDefault () a SingleOrDefault().

Aký je rozdiel medzi metódou rozšírenia FirstOrDefault () a SingleOrDefault () v Linq?

Úvod. The Metóda SingleOrDefault() . vráti jeden špecifický prvok sekvencie alebo predvolenú hodnotu, ak sa tento prvok nenájde v sekvencie. The FirstOrDefault() metóda vráti prvý špecifický prvok sekvencie alebo predvolenú hodnotu, ak sa tento prvok nenájde v sekvencie.

Odporúča: