Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano szczegółowe informacje o wydajności podczas przechodzenia LinkedList<T> do kolekcji.
Przyczyna
Przechodzenie przez element w celu znalezienia LinkedList<T> elementów skutkuje niską wydajnością.
Opis szczegółowych informacji o wydajności
LinkedList<T> nie zapewnia dostępu O(1) do elementów według indeksu. Każdy przechodzenie przez listę, szczególnie w pętlach lub zagnieżdżonych pętlach, powoduje złożoność czasu O(n). Może to spowodować znaczne obniżenie wydajności podczas wyszukiwania elementów często lub na dużych połączonych listach.
Jeśli to możliwe, rozważ użycie elementu List<T> lub Dictionary<TKey,TValue>.
List<T> Zapewnia dostęp O(1) według indeksu i Dictionary<TKey, TValue> udostępnia wyszukiwanie O(1) według klucza. Te alternatywy są często bardziej wydajne w przypadku większości wzorców dostępu w porównaniu z przechodzeniem przez połączoną listę.
Jak zbadać ostrzeżenie
W narzędziu Użycie procesora CPU kliknij pozycję Wyświetl kod źródłowy , aby znaleźć miejsce LinkedList<T> użycia przechodzenia. Jeśli to możliwe, refaktoryzacja umożliwia użycie innego typu kolekcji, który zapewnia szybszy dostęp do danego scenariusza.