Delen via


Inefficiƫnte lijst<T>. Gebruik zoeken

In dit artikel worden prestatie-inzichten beschreven bij gebruik List<T>.Find.

Oorzaak

List<T>.Find de methode resulteert in trage prestaties.

Beschrijving van prestatie-inzicht

De List<T>.Find methode voert een lineaire zoekopdracht uit in de lijst, wat resulteert in O(n) tijdcomplexiteit voor elke zoekopdracht. Dit kan inefficiƫnt zijn bij het zoeken naar items vaak of in grote lijsten.

Overweeg, indien mogelijk, een Dictionary<TKey,TValue>HashSet<T>. Als u een sleutel of unieke eigenschap aan de waarde kunt toewijzen, Dictionary<TKey,TValue> kunt u deze gebruiken. Als u unieke waarden opslaat, HashSet<T> kunt u deze gebruiken. Beide alternatieve gegevensstructuren hebben een O(1)-tijdcomplexiteit voor elke opzoekactie in vergelijking met O(n) in List<T>.Find.

Een waarschuwing onderzoeken

Klik in het hulpprogramma CPU-gebruik op Broncode weergeven om te zoeken waar List<T>.Find wordt gebruikt. Herstructureer indien mogelijk code om een alternatieve gegevensstructuur te gebruiken met snellere zoekacties.

Zie ook

Woordenlijsten in .NET