Première()
- Renvoie le premier élément d'une séquence.
- Il renvoie une erreur lorsqu'il n'y a aucun élément dans le résultat ou que la source est nulle.
- vous devez l'utiliser, si plusieurs éléments sont attendus et que vous ne souhaitez que le premier élément.
FirstOrDefault ()
- Renvoie le premier élément d'une séquence ou une valeur par défaut si aucun élément n'est trouvé.
- Il renvoie une erreur uniquement si la source est nulle.
- vous devez l'utiliser, si plusieurs éléments sont attendus et que vous ne souhaitez que le premier élément. Aussi bon si le résultat est vide.
Nous avons une table UserInfos, qui a quelques enregistrements comme indiqué ci-dessous. Sur la base de ce tableau ci-dessous, j'ai créé un exemple ...
Comment utiliser First ()
var result = dc.UserInfos.First(x => x.ID == 1);
Il n'y a qu'un seul enregistrement où ID == 1. Doit renvoyer cet enregistrement
ID: 1 Prénom: Manish Nom de famille: Dubey Courriel: xyz@xyz.com
var result = dc.UserInfos.First(x => x.FName == "Rahul");
Il existe plusieurs enregistrements où FName == "Rahul". Le premier enregistrement doit être de retour.
ID: 7 Prénom: Rahul Nom: Sharma Courriel: xyz1@xyz.com
var result = dc.UserInfos.First(x => x.ID ==13);
Il n'y a aucun enregistrement avec l'ID == 13. Une erreur doit se produire.
InvalidOperationException: la séquence ne contient aucun élément
Comment utiliser FirstOrDefault ()
var result = dc.UserInfos.FirstOrDefault(x => x.ID == 1);
Il n'y a qu'un seul enregistrement où ID == 1. Doit renvoyer cet enregistrement
ID: 1 Prénom: Manish Nom de famille: Dubey Courriel: xyz@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.FName == "Rahul");
Il existe plusieurs enregistrements où FName == "Rahul". Le premier enregistrement doit être de retour.
ID: 7 Prénom: Rahul Nom: Sharma Courriel: xyz1@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.ID ==13);
Il n'y a pas d'enregistrement avec l'ID == 13. La valeur de retour est nulle
J'espère que cela vous aidera à comprendre quand utiliser First()
ou FirstOrDefault()
.
.First
et les.FirstOrDefault
deux prennent des prédicats comme arguments, doncvar result = List.Where(x => x == "foo").First();
pourraient être réécrits commevar result = List.First(x => x == "foo");