Est nulle la vérification requise pour objet IEnumerable?
var selectedRows = from drow in ugTable.Rows
.Cast<Infragistics.Win.UltraWinGrid.UltraGridRow>()
.Where(drow => drow != null && drow.Selected)
select drow;
if(selectedRows.Count()==1){//do something with selected rows}
De la déclaration ci-dessus, dois-je vérifier la valeur Null pour le selectedRows variable? selectedRows est un IEnumerable variable.
OriginalL'auteur Tanya | 2011-05-05
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de vérifier si
selectedRows
estnull
. Le retour de l'IEnumerable<>
pourrait être vide, mais il ne sera jamaisnull
.En aparté, je vous suggère de vous simplifier votre code en écrivant:
Qui est plus court et équivalent.
yeh ! expression lambda est mieux sql comme requête linq
OriginalL'auteur Frédéric Hamidi
La requête LINQ retourne une liste vide (0 articles), si il n'y a pas de matches sur la où.
Donc, pas besoin de vérifier pour
null
.OriginalL'auteur Oded
Mon sentiment initial est non, vous ne le font pas, mais il ne peut certainement pas faire de mal.
J'ai, depuis, je pense que Phil Haack, une extension utile méthode qui vérifie si un
IEnumerable
est null ou vide....Any()
est beaucoup plus efficace pour vérifier si ce n'est pas vide que.Count()
OriginalL'auteur Alastair Pitts
Dans votre exemple, vous serez bien à l'aide de la méthode d'extension. Mais si vous étiez à mettre en œuvre votre propre méthode qui a retourné une IEnumerable, la réponse dépend de la façon dont vous retourner votre résultat.
La méthode suivante renvoie un vide énumérable:
La méthode suivante retourne la valeur null:
L'appel de ces méthodes donnera les résultats suivants:
Donc soyez prudent lorsque vous revenez IEnumerable. Essayez d'utiliser le mot clé yield et suivant le modèle correct.
OriginalL'auteur mikesigs
Linq l'habitude de retrun NULL . Si vous voulez vérifier certaines données sont là, vous pouvez aller avec ()
OriginalL'auteur anishMarokey