Comment compter les éléments dans un IEnumerable Sans itération ?
Comprendre le problème
Imaginez que vous ayez un IEnumerable Tables nommées qui génèrent deux chaînes : "Foo" et "Bar". Vous souhaitez connaître le nombre de ces éléments à l’avance sans les parcourir. Cependant, l'interface IEnumerable ne fournit pas intrinsèquement cette fonctionnalité.
La nature paresseuse de IEnumerable
IEnumerable suit un mécanisme d'évaluation paresseuse, ce qui signifie qu'il ne récupère les éléments que sur demande. Cette approche paresseuse améliore les performances en reportant le calcul jusqu'à ce que cela soit nécessaire. Par conséquent, il n'y a pas de propriété count intégrée pour cette interface.
Solution : utiliser ICollection ou Count() pour IEnumerable
Si vous avez besoin du nombre d'éléments sans itération, envisagez d'utiliser ICollection interface à la place. ICollection possède une propriété Count qui fournit instantanément les informations requises.
Alternativement, si vous avez une propriété IEnumerable mais que vous pouvez vous permettre une seule itération, vous pouvez utiliser la méthode d'extension Count(). Count() récupère le nombre d'éléments en une seule itération complète.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn