Sobes.tech
Middle

FirstOrDefault və SingleOrDefault metodları arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

FirstOrDefault() ardıcıllıqda şərti ödəyən ilk elementi və ya standart dəyəri (null referans tiplər üçün, 0 sayısal tiplər üçün) qaytarır, əgər belə elementlər yoxdursa.
SingleOrDefault() şərti ödəyən tək elementi və ya standart dəyəri qaytarır, əgər belə elementlər yoxdursa. Əgər daha çox element varsa, InvalidOperationException istisnası atılır.

Xüsusiyyət FirstOrDefault SingleOrDefault
1+ element tapılır İlkini qaytarır İstisna atır
Element tapılmır Standart dəyəri qaytarır Standart dəyəri qaytarır
Gözlənilən miqdar Sıfır və ya daha çox Tam olaraq bir
// FirstOrDefault istifadə nümunəsi
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber 2 olacaq
var nonExistent = numbers.FirstOrDefault(n => n > 10);   // nonExistent 0 olacaq

// SingleOrDefault istifadə nümunəsi
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result 7 olacaq

var emptyList = new List<int>();
var defaultValue = emptyList.SingleOrDefault(); // defaultValue 0 olacaq

var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Bu sətir InvalidOperationException atacaq