Sobes.tech
Middle

Was ist der Unterschied zwischen den Methoden FirstOrDefault und SingleOrDefault?

sobes.tech KI

Antwort von AI

FirstOrDefault() gibt das erste Element der Sequenz zurück, das die Bedingung erfüllt, oder einen Standardwert (null für Referenztypen, 0 für numerische Typen), wenn keine solchen Elemente vorhanden sind.
SingleOrDefault() gibt das einzige Element der Sequenz zurück, das die Bedingung erfüllt, oder einen Standardwert, wenn keine solchen Elemente vorhanden sind. Wenn mehr als eines vorhanden ist, wird eine InvalidOperationException ausgelöst.

Eigenschaft FirstOrDefault SingleOrDefault
Mehr als 1 Element gefunden Gibt das erste zurück Wirft eine Ausnahme
Kein Element gefunden Gibt den Standardwert zurück Gibt den Standardwert zurück
Erwartete Anzahl Null oder mehr Genau eins
// Beispiel für die Verwendung von FirstOrDefault
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // evenNumber ist 2
var nonExistent = numbers.FirstOrDefault(n => n > 10);   // nonExistent ist 0

// Beispiel für die Verwendung von SingleOrDefault
var singleNumber = new List<int> { 7 };
var result = singleNumber.SingleOrDefault(); // result ist 7

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

var multipleNumbers = new List<int> { 1, 2, 3 };
// var error = multipleNumbers.SingleOrDefault(); // Diese Zeile löst eine InvalidOperationException aus