2009-04-07 4 views

Répondre

84

La principale temps d'utiliser ArrayList est dans .NET 1.1

Autre que cela, List<T> tout le chemin (pour votre T local) ...

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

+3

+1 Vous êtes très rapide! :) –

+2

Pourrait être plus drôle - ArrayList eugh :) – annakata

+2

Que diriez-vous de "ArrayList [spit]" ;-p –

5

Puisque List est une classe générique, j'aurais tendance à toujours utiliser List. ArrayList est une classe .NET 1.x (toujours disponible, cependant, &), mais elle n'est pas 'typée'/générique, vous devrez donc retourner les éléments de 'objet' au type désiré; alors que lorsque vous utilisez List, vous n'êtes pas obligé de le faire.

12

Vous devez toujours utiliser List<TypeOfChoice> (introduit dans .NET 2.0 avec des génériques) car il est de TypeSafe et plus rapide que ArrayList (pas de boxing/unboxing inutile). Seul un cas que je pourrais penser où un ArrayList pourrait être utile est si vous avez besoin d'interface avec des choses anciennes (. NET 1.1) ou vous avez besoin d'un tableau d'objets de type différent et vous chargez tout comme objet - mais vous pourrait faire le dernier avec List<Object> ce qui est généralement mieux.

+0

+1 pour expliquer * pourquoi * pour favoriser 'Liste '. – Lernkurve

4

Utilisez la liste lorsque cela est possible. Je ne vois pas d'utilité pour ArrayList lorsqu'il existe une liste performante.

0

Comme dit autre. Vous devriez utiliser la liste générique, presque toujours quand vous connaissez le type (C# est un langage typé fort), et d'autres façons de faire des classes polymorphes/héritage ou d'autres choses comme ça. ArrayList est une ancienne structure de données .NET.

3

Si vous utilisez .NET 2.0 ou supérieur, utilisez toujours List lorsque le tableau doit contenir des éléments du même type. L'utilisation de List sur ArrayList améliore à la fois les performances et la convivialité.

0

Si vous ne voulez pas utiliser Linq Queries, vous n'avez pas besoin d'utiliser List. Si vous voulez utiliser alors vous devez préférer la liste.

0

Generics a été introduit dans .Net 2.0. Si vous utilisez des versions antérieures de .Net, alors vous pouvez utiliser la liste de tableaux sinon nous pouvons aller avec la liste générique elle-même. Array List est la liste obsolète et ne fournira pas une meilleure sécurité de type et de créer également des problèmes de boxe et unboxing. Mais la liste générique ne sera pas.

Questions connexes