Cili është ndryshimi midis single dhe SingleOrDefault në Linq?
Cili është ndryshimi midis single dhe SingleOrDefault në Linq?

Video: Cili është ndryshimi midis single dhe SingleOrDefault në Linq?

Video: Cili është ndryshimi midis single dhe SingleOrDefault në Linq?
Video: Как укладывать декоративный камень!? / Облицовка цоколя / Возможные ошибки 2024, Nëntor
Anonim

Beqare () - Ka saktësisht 1 rezultat, bëhet përjashtim nëse nuk kthehet asnjë rezultat ose më shumë se një rezultat. SingleOrDefault () - E njejta si Beqare (), por mund të trajtojë vlerën null. First() - Ka të paktën një rezultat, bëhet një përjashtim nëse nuk kthehet asnjë rezultat.

Në këtë mënyrë, cilat janë ndryshimet midis metodave single () dhe SingleOrDefault ()?

Të Metoda SingleOrDefault() . bën të njëjtën gjë si Metoda Single() .. I vetmi dallimi është se kthen vlerën e paracaktuar të llojit të të dhënave të një koleksioni nëse një koleksion është bosh, përfshin më shumë se një element ose nuk gjen asnjë element ose më shumë se një element për kushtin e specifikuar.

Gjithashtu, çfarë është e vetme ose e paracaktuar në Linq? Diferenca semantike: FirstOrDefault kthen një artikull të parë potencialisht të shumëfishtë (ose default nëse asnjë nuk ekziston). SingleOrDefault supozon se ka një beqare artikullin dhe e kthen atë (ose default nëse asnjë nuk ekziston). Artikujt e shumtë janë shkelje e kontratës, bëhet përjashtim.

Prandaj, cili është ndryshimi midis të parit dhe beqarit në Linq?

Së pari () do të hedhë nëse nuk mund ta gjejë së pari vlera e përputhshme, Beqare () do të hedhë nëse nuk mund të gjejë vlerën dhe nëse ka më shumë se një element që përputhet në sekuencën hyrëse. Prandaj ata kanë funksione simotra të quajtura FirstOrDefault () dhe SingleOrDefault().

Cili është ndryshimi midis metodës së zgjerimit FirstOrDefault () dhe SingleOrDefault () në Linq?

Prezantimi. Të Metoda SingleOrDefault() . kthen një element të vetëm specifik të një sekuence ose vlerë të paracaktuar nëse ai element nuk gjendet në sekuencë. Të Metoda FirstOrDefault() . kthen një element të parë specifik të një sekuence ose vlerë të paracaktuar nëse ai element nuk gjendet në sekuencë.

Recommended: