Que retourne une fonction LINQ quand il n'y a pas de correspondance? Prenez la méthode de l'endroit, par exemple: quel serait dans les résultats à ce stade? P> P>
3 Réponses :
une référence à un Ienumerable vide
Excellent! C'est ce que je cherchais. Je voulais être sûr de ne pas avoir à vérifier NULL.
Nitpick: une référence à un ienumerable vide
@Mark Oui, j'ai pensé à clarifier.
Dans ce cas, il renvoie un ienumerable
Cela fait que ça sonne comme s'il "sait" il y a un nombre de 0 - que ce n'est pas le cas. La valeur renvoyée est un iEnumerable
@Jon: Certainement, merci de clarifier. Comme vous l'avez mentionné dans votre message, il doit être utilisé pour déterminer le résultat.
Donc, vous pouviez faire: P> résultats code> est juste une requête. Jusqu'à ce que vous commenciez à y parcourir (explicitement ou via un appel comme
comptez () code>), rien n'a vérifié s'il existe des résultats ou non. Ce n'est que lorsque vous l'énumérant que quelque chose se produira.
Console.WriteLine(results.Any()); // Will print false
Console.WriteLine(results.Count()); // Will print 0
J'ai tout oublié d'évaluation paresseux. smacks auto i>
Notez que la "question" dont vous parlez est vraiment un iNeumable d'une sorte qui n'a pas renseigné ses données ...
Que serait dans "Résultats" est un objet qui représente la requête i>. N'oubliez pas: L'objet de requête n'est pas les résultats de la requête. L'objet de requête est quelque chose que vous pouvez itérer pour obtenir les résultats de la requête i>, ce n'est pas lui-même les résultats.