Sobes.tech
Middle

Wat is het verschil tussen de methoden FirstOrDefault en SingleOrDefault?

sobes.tech AI

Antwoord van AI

FirstOrDefault() geeft het eerste element van de sequentie dat aan de voorwaarde voldoet, of een standaardwaarde (null voor referentietypen, 0 voor numerieke typen) als er geen dergelijke elementen zijn.
SingleOrDefault() geeft het enige element van de sequentie dat aan de voorwaarde voldoet, of een standaardwaarde als er geen dergelijke elementen zijn. Als er meer dan één is, wordt een InvalidOperationException gegenereerd.

Kenmerk FirstOrDefault SingleOrDefault
1+ elementen gevonden Geeft het eerste terug Gooi een uitzondering uit
Geen elementen gevonden Geeft de standaardwaarde Geeft de standaardwaarde
Verwachte hoeveelheid Nul of meer Precies één
// Voorbeeld van gebruik van FirstOrDefault
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber wordt 2
var nonExistent = numbers.FirstOrDefault(n => n > 10);   // nonExistent wordt 0

// Voorbeeld van gebruik van SingleOrDefault
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result wordt 7

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

var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Deze regel gooit een InvalidOperationException