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