Sobes.tech
Middle

FirstOrDefault ve SingleOrDefault yöntemleri arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

FirstOrDefault() koşulu sağlayan dizinin ilk öğesini döndürür veya varsayılan değeri (null referans türleri için, 0 sayısal türler için) eğer böyle öğeler yoksa.
SingleOrDefault() koşulu sağlayan dizinin tek öğesini döndürür veya varsayılan değeri, eğer böyle öğeler yoksa. Eğer birden fazla varsa, InvalidOperationException istisnası atılır.

Özellik FirstOrDefault SingleOrDefault
1+ öğe bulunursa İlk öğeyi döndürür İstisna atar
Öğe bulunmaz Varsayılan değeri döndürür Varsayılan değeri döndürür
Beklenen miktar Sıfır veya daha fazla Tam olarak bir tane
// FirstOrDefault kullanım örneği
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber 2 olur
var nonExistent = numbers.FirstOrDefault(n => n > 10);   // nonExistent 0 olur

// SingleOrDefault kullanım örneği
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result 7 olur

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

var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Bu satır InvalidOperationException atar