Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les insights sur les performances lors de la traversée des LinkedList<T> collections.
La cause
La traversée d’un LinkedList<T> élément pour trouver des éléments entraîne des performances lentes.
Description de l’insight sur les performances
LinkedList<T> ne fournit pas l’accès O(1) aux éléments par index. Chaque traversée de la liste, en particulier dans les boucles ou boucles imbriquées, entraîne la complexité temporelle O(n). Cela peut entraîner une dégradation significative des performances lors de la recherche d’éléments fréquemment ou dans de grandes listes liées.
Si possible, envisagez d’utiliser List<T> ou Dictionary<TKey,TValue>.
List<T> fournit un accès O(1) par index et Dictionary<TKey, TValue> fournit des recherches O(1) par clé. Ces alternatives sont souvent plus efficaces pour la plupart des modèles d’accès que pour parcourir une liste liée.
Comment examiner un avertissement
Dans l’outil Utilisation du processeur, cliquez sur Afficher le code source pour trouver l’emplacement où LinkedList<T> la traversée est utilisée. Si possible, refactoriser l’utilisation d’un type de collection différent qui fournit un accès plus rapide pour votre scénario.