45 votes

c# Quand dois-je utiliser la Liste de et quand dois-je utiliser arraylist?

Comme le titre le dit quand dois-je utiliser List et quand dois-je utiliser ArrayList?

Merci

87voto

Marc Gravell Points 482669

Les principaux temps de l'utiliser ArrayList est en .NET 1.1

Autres que que, List<T> tous les sens (pour votre local T)...

Pour ceux (rares) cas où vous ne connaissez pas le type initial (et ne peut pas utiliser des génériques), même List<object> est plus utile que l' ArrayList (OMI).

12voto

JohnIdol Points 16355

Vous devriez toujours utiliser List<TypeOfChoice> (introduit en .NET 2.0 avec les génériques), puisqu'il est TypeSafe et plus vite que d' ArrayList (pas de non-nécessaire boxing/unboxing).

Seul cas que je pouvais penser d'où une ArrayList pourrait être pratique si vous avez besoin d'une interface avec des vieux trucs (.NET 1.1) ou vous avez besoin d'un tableau d'objets de type différent et de vous charger de tout objet, mais vous pourriez faire de ce dernier avec l' List<Object> qui est généralement meilleure.

5voto

Frederik Gheysels Points 36354

Depuis Liste est une classe générique, j'aurais tendance à toujours utiliser la Liste.

ArrayList est une .NET 1.x classe (toujours disponible et valide tout de même), mais il n'est pas "tapé" /générique, de sorte que vous aurez besoin de jeter des éléments de l '"objet" de retour vers le type désiré; considérant que lors de l'utilisation de la Liste, vous n'avez pas à le faire.

4voto

Niran Points 447

Utilisation de la Liste dans la mesure du possible. Je ne peux pas voir toute utilisation à ArrayList lorsque la haute performance de Liste existe.

3voto

blitzkriegz Points 2139

Liste de tableaux est un plus .NET structure de données. Si vous êtes en utilisant .NET 2.0 ou au-dessus de toujours utiliser la Liste lorsque le tableau doit contenir des éléments de même type. Utilisation de Liste de liste de tableaux améliore à la fois la performance et la convivialité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X