J'ai un tableau simple d'objets:
if(contacts.Length == 0) return;
5 Réponses :
Oui, il est plus lent, car il est itérale sur les éléments.Utilisant la propriété code> la propriété est meilleure. Mais je ne pense toujours pas qu'il y ait une différence em> em> em> car
tout code> renvoie vrai fort> dès qu'il trouve un élément. P>
Si vous avez une matrice, la longueur est dans une propriété de la matrice. Lorsque vous appelez, vous êtes itérer le tableau pour trouver le premier élément. La configuration de l'énumérateur est probablement plus chère puis de lire la propriété de longueur. P>
Il y a deux Je suppose que vous utilisez la méthode d'extension pour essentiellement, à l'aide de Si vous souhaitez vérifier le code qui ne vous appartient pas (c'est-à-dire le code qui a déjà été compilé), comme tout () code> méthodes:
1. une méthode d'extension pour
ienumerable
iQuéryable
ienumerable
longueur == 0 code> est plus rapide car il ne s'agit pas de créer un itérateur pour le tableau. p>
tout
Je dois totalement être en désaccord avec les autres réponses. Cela ne fait certainement pas itérale sur le tableau fort>. Il sera légèrement plus lent, car il doit créer un objet itérateur de tableau et appelle Source: décompilé movenext () code> une fois fort>, mais ce coût devrait être négligeable dans la plupart des scénarios; Si
tout () code> rend le code plus lisible à vous, n'hésitez pas à l'utiliser. P>
énumérable.Le
dans votre cas même mais la différence semble être négligeable em> . P> dans cas générale em>, cependant, longueur code> est légèrement meilleur em>:
tout code> est meilleur, car il s'arrête sur le premier élément trouvé EM> P >
// Itterates until 1st item is found
if (contains.Any(x => MyCondition(x)))
return;
// Itterates the entire collection
if (contains.Select(x => MyCondition(x)).Count() > 0)
return;
Dupliqué possible de Quelle méthode fonctionne mieux:. Nan () vs .Count ( )> 0?
@ al-khwārizmī pas vraiment, je poserais la même question sur
compter () code> et la longueur et ma dernière question est toujours debout - comment puis-je savoir sans aller ici pour chaque méthode LINQ
Il est très douteux que l'une de ces formes soit le goulot d'étranglement dans la performance de votre application. Si vous avez défini les objectifs de performance, le code écrit, le profilé et situé les points chauds / goulots d'étranglement, c'est i> le temps de vous inquiéter de savoir s'il existe différentes variantes qui peuvent offrir de meilleures performances. Au lieu de cela, ce que vous devriez généralement écrire est Clear i> code qui exprime vos intentions i>.