Middle
FirstOrDefault va SingleOrDefault metodlari orasidagi farq nima?
sobes.tech AI
AIdan javob
FirstOrDefault() ketma-ketlikdagi shartni qanoatlantiradigan birinchi elementni yoki standart qiymatni (null referens tiplari uchun, 0 raqamli tiplari uchun) qaytaradi, agar bunday elementlar bo'lmasa.
SingleOrDefault() shartni qanoatlantiradigan yagona elementni yoki standart qiymatni qaytaradi, agar bunday elementlar bo'lmasa. Agar bir nechta bo'lsa, InvalidOperationException istisnosi chiqariladi.
| Xususiyat | FirstOrDefault | SingleOrDefault |
|---|---|---|
| 1+ element topildi | Birinchisini qaytaradi | Istisno chiqaradi |
| Element topilmadi | Standart qiymatni qaytaradi | Standart qiymatni qaytaradi |
| Kutilyotgan miqdor | Noldan ko'p bo'lishi mumkin | Aniq bitta bo'lishi kerak |
// FirstOrDefault dan foydalanish misoli
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber 2 bo'ladi
var nonExistent = numbers.FirstOrDefault(n => n > 10); // nonExistent 0 bo'ladi
// SingleOrDefault dan foydalanish misoli
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result 7 bo'ladi
var emptyList = new List<int>();
var defaultValue = emptyList.SingleOrDefault(); // defaultValue 0 bo'ladi
var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Bu satr InvalidOperationException chiqaradi