Mitä eroa on singlen ja SingleOrDefaultin välillä Linqissä?
Mitä eroa on singlen ja SingleOrDefaultin välillä Linqissä?

Video: Mitä eroa on singlen ja SingleOrDefaultin välillä Linqissä?

Video: Mitä eroa on singlen ja SingleOrDefaultin välillä Linqissä?
Video: Мальвы цветут_Рассказ_Слушать 2024, Marraskuu
Anonim

Yksittäinen () - Tuloksia on tasan 1, poikkeus heitetään, jos tulosta ei palauteta tai tulos on useampia. SingleOrDefault () - Sama kuin Yksittäinen (), mutta se pystyy käsittelemään nolla-arvon. First() - Tulos on vähintään yksi, poikkeus heitetään, jos tulosta ei palauteta.

Mitä eroa on tällä tavalla yksittäisten () ja SingleOrDefault () -menetelmien välillä?

The SingleOrDefault()-metodi tekee samaa kuin Yksi()-menetelmä . Ainoa ero on, että se palauttaa kokoelman tietotyypin oletusarvon, jos kokoelma on tyhjä, sisältää useamman kuin yhden elementin tai ei löydä elementtiä tai useamman kuin yhden elementin määritetylle ehdolle.

Lisäksi mikä on yksittäinen tai oletusarvo Linqissa? Semanttinen ero: FirstOrDefault palauttaa ensimmäisen kohteen mahdollisesti useista (tai oletuksena jos sellaista ei ole olemassa). SingleOrDefault olettaa, että on olemassa a yksittäinen tuotteen ja palauttaa sen (tai oletuksena jos sellaista ei ole olemassa). Useat esineet ovat sopimusrikkomuksia, poikkeus heitetään.

Näin ollen, mitä eroa on ensimmäisen ja sinkun välillä Linqissa?

Ensimmäinen () heittää, jos se ei löydä ensimmäinen vastaava arvo, Yksittäinen () heittää, jos se ei löydä arvoa ja jos syöttösekvenssissä on useampi kuin yksi vastaava elementti. Siksi heillä on sisartoimintoja nimeltään FirstOrDefault () ja SingleOrDefault().

Mitä eroa on FirstOrDefault ()- ja SingleOrDefault () -laajennusmenetelmällä Linqissä?

Johdanto. The SingleOrDefault()-metodi palauttaa sarjan yksittäisen tietyn elementin tai oletusarvon, jos kyseistä elementtiä ei löydy in järjestys. The FirstOrDefault() -menetelmä palauttaa sekvenssin tai oletusarvon ensimmäisen tietyn elementin, jos kyseistä elementtiä ei löydy in järjestys.

Suositeltava: