Middle
FirstOrDefault жана SingleOrDefault ыкмаларынын айырмасы эмнеде?
sobes.tech AI
AIден жооп
FirstOrDefault() тизмедеги шартты канааттандырган биринчи элементти же алдын ала белгиленген маанини (null шилтемелер типтери үчүн, 0 сандык типтери үчүн) кайтарат, эгер андай элементтер жок болсо.
SingleOrDefault() шартты канааттандырган жалгыз элементти же алдын ала белгиленген маанини кайтарат, эгер андай элементтер жок болсо. Эгер алардын саны бирден көп болсо, InvalidOperationException ката чыгат.
| Өзгөчөлүк | FirstOrDefault | SingleOrDefault |
|---|---|---|
| 1+ элемент табылды | Биринчисин кайтарат | Ката чыгарат |
| Эч кандай элемент табылган жок | Алдын ала белгиленген маанини кайтарат | Алдын ала белгиленген маанини кайтарат |
| Күтүлгөн саны | Нөл же көбүрөөк | Так бирөө |
// FirstOrDefault колдонуу мисалы
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber 2 болот
var nonExistent = numbers.FirstOrDefault(n => n > 10); // nonExistent 0 болот
// SingleOrDefault колдонуу мисалы
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result 7 болот
var emptyList = new List<int>();
var defaultValue = emptyList.SingleOrDefault(); // defaultValue 0 болот
var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Бул сап `InvalidOperationException` чыгарат