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>?
Respuesta
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.
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.
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.
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
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í.
- 1. Polimorfismo: ¿Por qué usar "List list = new ArrayList" en lugar de "ArrayList list = new ArrayList"?
- 2. qué colección de C# usar en lugar de List <KeyValuePair <string, double >>?
- 3. Debo devolver List o ArrayList
- 4. HtmlAgilityPack - ¿Se cierra el <form> por algún motivo?
- 5. ¿Hay algún método en la API estándar para retener todo()?
- 6. ¿Hay algún inconveniente al utilizar un tipo de retorno IEnumerable <T> para datos SQL?
- 7. ¿Hay algún libtorrent para C#?
- 8. Java: ordenar una ArrayList en su lugar
- 9. ¿Habría algún motivo para escribir código en binario puro?
- 10. C# List <T> .ConvertAll en .NET 2.0
- 11. C++ list <T> :: iterator no se puede utilizar en la plantilla de clase derivada
- 12. C# Casting a List <ObjBase> como List <Obj>
- 13. ArrayList (Colección <? extends E> c)
- 14. C# List <> Add() método rendimiento
- 15. C# List <> GroupBy 2 Valora
- 16. Cuándo utilizar IList y cuándo utilizar List
- 17. ¿Cómo puedo convertir ArrayList <Object> en ArrayList <String>?
- 18. ¿Hay alguna buena razón para NO utilizar jQuery en lugar de JavaScript antiguo?
- 19. ¿Algún lugar agradable para comunicarse con desarrolladores de C++/juegos?
- 20. ¿Cuándo utilizaría List <KeyValuePair <T1, T2>> en lugar de Dictionary <T1, T2>?
- 21. ¿Hay algún "patrón de diseño" en C?
- 22. ¿Hay algún tipo de Future <T> en .NET?
- 23. ¿Por qué WCF devuelve myObject [] en lugar de List <T> como estaba esperando?
- 24. bytes Convertir [] para ArrayList <Object>
- 25. OOP: diferencia entre ArrayList al = new ArrayList() y List al = new ArrayList()?
- 26. ¿Hay algún motivo por el que C99 no admita la sobrecarga de funciones?
- 27. Cómo lanzar ArrayList <> de la lista <>
- 28. ¿Hay algún personaje mágico en Twilio? <Say> verbos
- 29. ¿Hay algún depurador C#/.NET independiente?
- 30. Service Reference usa Arrays en lugar de List <Type>, incluso cuando las configuraciones dicen que use List
Supongo que si quieres tener una lista de varios tipos no relacionados. –
@John: en cuyo caso preferiría usar 'List
Varios tipos no relacionados podrían entrar en la lista