Tengo una lista que se declara a continuación, al principio de manera predeterminada los elementos de la lista a {-1, -}. Por favor, tenga en cuenta que a lo largo del programa el tamaño de la lista se fija en 2.Lista de .NET mejor enfoque
List<int> list = new List<int>(new int[] {-1, -1});
Mi pregunta está relacionada, lo que sería el mejor enfoque si necesito para sobrescribir los dos valores de la lista.
int x = GetXValue();
int y = GetYValue();
Enfoque 1:
list = new List<int>(new int[] {x, y});
Enfoque 2:
list[0] = x;
list[1] = y;
lo que sería un mejor enfoque? Con el segundo enfoque, aunque estoy seguro de que hay dos valores establecidos inicialmente, puedo correr el riesgo de la excepción Argument index out of range
. Pero el primer enfoque podría consumir más memoria (¡corrígeme si estoy equivocado!) Ya que estoy creando una nueva lista cada vez.
¿Existe una solución más simple, y/o mejor
Nice call on point. Estaba pensando que IDictionary lograría lo mismo. –
+1: el uso de una lista (de tamaño dinámico) crea ambigüedad para el tipo, donde ahora se DEBE confiar en los comentarios para indicar el uso previsto. Si no se desea un tipo de CLR, se necesita una estructura u objeto personalizado. –
+1 - ¡Idea inteligente! –