Was ist der Unterschied zwischen einem Single und einem SingleOrDefault?
Danke.
Der Unterschied besteht darin, wie sie eine leere Sequenz behandeln.
Single
löst eine Ausnahme aus, wenn kein Element gefunden wird.SingleOrDefault
gibt den Wert default(T)
wenn kein Element gefunden wird. Bei Referenztypen und nullbaren Werten ist der Standardwert null. Bei nicht-nullbaren Werttypen ist er 0 oder ähnlich.のことです。 First
et FirstOrDefault
Methoden sind ebenfalls verwandt. Hier sind alle vier in einer Tabelle aufgeführt:
method no records multiple records
---------------------------------------------
Single exception exception
SingleOrDefault default(T) exception
First exception first record
FirstOrDefault default(T) first record
Alle diese Methoden haben auch eine Überladung, die ein Prädikat annimmt.
Eine weitere verwandte Methode ist DefaultIfEmpty
mit dem Sie angeben können, was der Standardwert sein soll, wenn die Sequenz leer ist, anstatt einfach den Standardwert für den Typ zu verwenden.
Single:
Gibt das einzige Element einer Sequenz zurück, das die angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehr als ein solches Element existiert.
Einzeln oder Standard:
Gibt das einzige Element einer Sequenz zurück oder einen Standardwert, wenn die Sequenz leer ist; diese Methode löst eine Ausnahme aus, wenn es mehr als ein Element in der Sequenz gibt.
Sie können also SingleOrDefault verwenden, um eine Eigenschaft/Spalte mit einem Standardwert aufzufüllen, wenn Sie nicht wollen, dass diese Eigenschaft/Spalte NULLs akzeptiert.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.