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