Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe información de rendimiento al usar List<T>.Find.
Causa
List<T>.Find el método da como resultado un rendimiento lento.
Descripción de la información de rendimiento
El List<T>.Find método realiza una búsqueda lineal a través de la lista, lo que da lugar a una complejidad de tiempo de O(n) para cada búsqueda. Esto puede ser ineficaz al buscar elementos con frecuencia o en listas grandes.
Si es posible, considere la posibilidad de usar Dictionary<TKey,TValue> o .HashSet<T> Si puede asignar una clave o una propiedad única al valor, Dictionary<TKey,TValue> se puede usar. Si almacena valores únicos, HashSet<T> se puede usar. Ambas estructuras de datos alternativas tienen una complejidad de tiempo de O(1) para cada búsqueda en comparación con O(n) en List<T>.Find.
Cómo investigar una advertencia
En la herramienta Uso de CPU, haga clic en Ver código fuente para buscar dónde List<T>.Find se usa. Si es posible, refactorice el código para usar una estructura de datos alternativa con búsquedas más rápidas.