2010-11-22 9 views
6

El título prácticamente lo resume todo. Ahora que tenemos List<T>, ¿por qué alguien querría usar un ArrayList? ¿La única razón por la que puedo pensar es si se ve obligado a usar una versión anterior de .NET antes de implementar List<T>?C# ¿hay algún motivo para utilizar ArrayList en lugar de List <T>?

+0

Supongo que si quieres tener una lista de varios tipos no relacionados. –

+2

@John: en cuyo caso preferiría usar 'List ' por el bien de la coherencia. –

+2

Varios tipos no relacionados podrían entrar en la lista

Respuesta

8

Como dijiste, si por alguna razón estás atrapado en .Net 1.1, entonces no tienes otra opción.

Su pregunta parece indicar que hay una opción. Entonces, no hay ninguna razón para que el usuario ArrayList. Cualquier cosa que ArrayList pueda hacer, List<T> puede hacerlo también, sino es mejor.

0

Lo dices tú mismo: compatibilidad con versiones anteriores. Ya no sirve de nada, pero claramente no se puede eliminar del BCL ya que rompería el código existente que, por la razón que sea, debe compilarse contra .NET 1.1.

4

Respuesta corta, no. ArrayList era de .NET no admitía genéricos. La lista es la manera más flexible (genérica) de manejar listas. De hecho, no creo que Silverlight siquiera admita ArrayLists en absoluto.

1

ArrayList es principalmente para compatibilidad con versiones anteriores. En un proyecto cuando hay una fecha límite, es posible que tenga tiempo para convertir todo, desde ArrayList a Lista genérica.

Otra razón es que puede estar utilizando una biblioteca que está escrita en .NET 1.1. Entonces puede forzar el uso de ArrayList en su código, y lo más probable es que lo convierta en una Lista genérica para una fácil codificación.

Sin embargo, hay algunas diferencias, y es posible que desee leer esto: .NET: ArrayList vs List

0

La única vez que he utilizado un ArrayList desde .Net 2.0 era para su uso con el built-in La función My.Settings en vb.net, y desde entonces he aprendido que probablemente podría haber metido una lista genérica allí.

Cuestiones relacionadas