Zuerst()
- Gibt das erste Element einer Sequenz zurück.
- Es wird ein Fehler ausgegeben, wenn das Ergebnis kein Element enthält oder die Quelle null ist.
- Sie sollten es verwenden, wenn mehr als ein Element erwartet wird und Sie nur das erste Element möchten.
FirstOrDefault ()
- Gibt das erste Element einer Sequenz oder einen Standardwert zurück, wenn kein Element gefunden wird.
- Es wird nur dann ein Fehler ausgegeben, wenn die Quelle null ist.
- Sie sollten es verwenden, wenn mehr als ein Element erwartet wird und Sie nur das erste Element möchten. Auch gut, wenn das Ergebnis leer ist.
Wir haben eine UserInfos-Tabelle, die einige Datensätze enthält, wie unten gezeigt. Auf der Grundlage dieser Tabelle unten habe ich ein Beispiel erstellt ...
Verwendung von First ()
var result = dc.UserInfos.First(x => x.ID == 1);
Es gibt nur einen Datensatz, in dem ID == 1. Sollte diese Datensatz-
ID zurückgeben: 1 Vorname: Manish Nachname: Dubey E-Mail: xyz@xyz.com
var result = dc.UserInfos.First(x => x.FName == "Rahul");
Es gibt mehrere Datensätze, in denen FName == "Rahul". Die erste Aufzeichnung sollte zurückgegeben werden.
ID: 7 Vorname: Rahul Nachname: Sharma E-Mail: xyz1@xyz.com
var result = dc.UserInfos.First(x => x.ID ==13);
Es gibt keinen Datensatz mit der ID == 13. Es sollte ein Fehler auftreten.
InvalidOperationException: Die Sequenz enthält keine Elemente
Verwendung von FirstOrDefault ()
var result = dc.UserInfos.FirstOrDefault(x => x.ID == 1);
Es gibt nur einen Datensatz, in dem ID == 1. Sollte diese Datensatz-
ID zurückgeben: 1 Vorname: Manish Nachname: Dubey E-Mail: xyz@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.FName == "Rahul");
Es gibt mehrere Datensätze, in denen FName == "Rahul". Die erste Aufzeichnung sollte zurückgegeben werden.
ID: 7 Vorname: Rahul Nachname: Sharma E-Mail: xyz1@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.ID ==13);
Es gibt keinen Datensatz mit der ID == 13. Der Rückgabewert ist null
Hoffe, es wird Ihnen helfen zu verstehen, wann First()
oder verwenden FirstOrDefault()
.
.First
und.FirstOrDefault
beide nehmen Prädikate als Argumente,var result = List.Where(x => x == "foo").First();
könnten also umgeschrieben werden alsvar result = List.First(x => x == "foo");