Linqдагы биринчи жана FirstOrDefault ортосунда кандай айырма бар?
Linqдагы биринчи жана FirstOrDefault ортосунда кандай айырма бар?

Video: Linqдагы биринчи жана FirstOrDefault ортосунда кандай айырма бар?

Video: Linqдагы биринчи жана FirstOrDefault ортосунда кандай айырма бар?
Video: Аял кантсе, эркекти тошокто кандырат? 2024, Ноябрь
Anonim

майор Биринчи жана FirstOrDefault ортосундагы айырма ошол Алгачкы () эгерде берилген критерийлер үчүн жыйынтык маалыматтары жок болсо, өзгөчөлүктү ыргытат FirstOrDefault () натыйжа дайындары жок болсо, демейки маанини (нөл) кайтарат.

Мындан тышкары, Linq'те биринчи () жана FirstOrDefault () тандоо ыкмаларынын ортосунда кандай айырма бар?

Алгачкы() - Жок дегенде бир жыйынтык бар, эч кандай жыйынтык кайтарылбаса, өзгөчөлүк ташталат. FirstOrDefault() - Ошол эле Алгачкы() , бирок эч кандай өзгөчөлүктү таштабайт же натыйжа болбогондо нөлдү кайтарбайт. Бойдок () бир жана бир гана элемент бар экенин ырастайт ичинде ырааттуулугу. Алгачкы() жөн гана сага берет алгачкы бир.

Андан кийин суроо туулат, Linqдагы биринчи менен жалгыздын ортосунда кандай айырма бар? Алгачкы () таба албаса ыргытат алгачкы дал келген маани, Бойдок () маанисин таба албаса жана киргизүү ырааттуулугунда бирден ашык дал келген элемент болсо ыргытат. Ошондуктан алар эже-карындаш функциялары деп аталат FirstOrDefault () жана SingleOrDefault().

Кошумчалай кетсек, Linqда FirstOrDefault эмнени колдонот?

FirstOrDefault () Кезектин биринчи элементин же элемент табылбаса, демейки маанини кайтарат. Булак нөл болгондо гана ката кетирет. жасашың керек колдонуу ал, Эгерде бирден ашык элемент күтүлсө жана сиз биринчи гана элементти кааласаңыз. Натыйжа бош болсо дагы жакшы.

Жалгыз () жана SingleOrDefault () методдорунун ортосунда кандай айырмачылыктар бар?

The SingleOrDefault() ыкмасы сыяктуу эле нерсени кылат Single() ыкмасы . Гана айырма эгерде коллекция бош болсо, бирден ашык элементти камтыса же көрсөтүлгөн шарт үчүн эч кандай элемент же бирден ашык элемент таппаса, ал коллекциянын маалымат түрүнүн демейки маанисин кайтарат.

Сунушталууда: