J'ai une liste qui est déclarée ci-dessous, au début je par défaut la liste des éléments à {-1, -}. S'il vous plaît noter que tout au long du programme, la taille de la liste est fixée à 2..NET Liste meilleure approche
List<int> list = new List<int>(new int[] {-1, -1});
Ma question concerne, quelle serait la meilleure approche si je dois remplacer les deux valeurs dans la liste.
int x = GetXValue();
int y = GetYValue();
Approche 1:
list = new List<int>(new int[] {x, y});
Approche 2:
list[0] = x;
list[1] = y;
Quelle serait une meilleure approche? Avec la deuxième approche, même si je suis sûr qu'il y a 2 valeurs initiales, je peux courir le risque de l'exception Argument index out of range
. Mais la première approche pourrait manger plus de mémoire (corrigez-moi si je me trompe!) Puisque je crée une nouvelle liste à chaque fois.
est-il un plus simple, et/ou une meilleure solution
Bel appel sur le point. Je pensais IDictionary accomplirait la même chose. –
+1: L'utilisation d'une liste (de taille dynamique) crée une ambiguïté pour le type - où les commentaires DOIVENT maintenant être utilisés pour indiquer l'utilisation prévue. Si un type CLR n'est pas souhaité, une structure ou un objet personnalisé est requis. –
+1 - Une idée géniale! –