2011-09-30 17 views

Respuesta

14

Dentro de List<T>, hay una colección de tamaño estático que contiene sus artículos. Una vez que alcanza la capacidad de esa colección, el List<T> lo vuelve a dimensionar, lo cual es un golpe de rendimiento (puede o no ser significativo para usted).

Al configurar la capacidad inicial, se evita tener que realizar esas operaciones de redimensionamiento.

7

Cuando una lista necesita exceder su capacidad actual, deben producirse reasignaciones de memoria y desplazamiento de cosas, lo que requiere tiempo y esfuerzo.

Si sabe con anticipación qué tan grande será la lista, puede evitar esto.

3

Hará un poco de velocidad porque no será necesario cultivar la lista. Hacer crecer una lista es O (n) donde n es el número actual de elementos, y el estándar List<> crece duplicando su tamaño actual. Todo lo que se considera, agregar un elemento al final de una lista sigue siendo en promedio una operación O (1) (esto porque al final para insertar n elementos tendrá en promedio n insertos hasta el final (cada uno es O (1) operación) yn copia operaciones entre el búfer antiguo y el búfer más nuevo (cada uno una operación O (1)), por lo que cada adición está en exceso O (1)

3

Esto mejorará ligeramente el rendimiento, ya que la memoria necesaria se asignará cuando cree la Lista, y la CLR no tendrá que aumentar el Tamaño de la Lista cuando agregue más elementos.

Tenga en cuenta que incluso si especifica un tamaño de lista, se incrementará de todos modos si agrega más elementos de los esperados.

Cuestiones relacionadas