Sobes.tech
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