Question

Si j'utilise une liste de tableaux en C # .NET, l'ordre sera-t-il identique à celui auquel j'ajoute des éléments?

Était-ce utile?

La solution

Oui, les éléments sont toujours ajoutés à la fin (sauf indication contraire, par exemple, avec un appel à Insérer ). En d'autres termes, si vous le faites:

int size = list.Count;
int index = list.Add(element);
Assert.AreEqual(size, index); // Element is always added at the end
Assert.AreEqual(element, list[index]); // Returned index is position in list

La position changera bien sûr si vous supprimez des éléments antérieurs ou si vous insérez de nouveaux éléments avant.

Y a-t-il une bonne raison pour que vous utilisiez ArrayList plutôt que List<T> en passant? Les collections non génériques sont so 2003 ...

(L'ordre est stable dans <=> également, au fait.)

Autres conseils

Oui, à moins qu'un élément de votre code ne modifie l'ordre, par exemple. permutation.

Oui c'est ça. Comme il est stocké sous forme de tableau.

Les autres propriétés sont

  • Commande garantie
  • Accès aléatoire. Vous pouvez accéder à n’importe quel élément par index dans O (1)
  • Insertion lente et suppression au début et au milieu.
  • Non trié. (Le tri doit prendre O (n log n) à l’aide de quicksort ou similaire)

Oui. [limite de longueur de réponse stupide]

Lorsque vous ajoutez un élément à une liste de tableaux, cet élément reste toujours à cet index. Sauf si bien sûr vous le changez.

(le framework peut réorganiser la mémoire mais votre index restera toujours le même)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top