No me gustaría saltar y decir que están obsoletos o van a ser eliminados en el corto plazo. Es cierto que usted debe evitar el uso de colecciones no genéricas a menos que tenga una razón no no utiliza una versión genérica. Miles de líneas de código heredado (no tan legado) todavía están flotando (y lo estarán durante años) que admiten colecciones no genéricas como ArrayLists. Dado que estas fueron las colecciones únicas en .NET 1.0 y 1.1, se ha utilizado ampliamente (y se ha abusado) durante todo el año.
Todavía de vez en cuando tengo que interactuar con un antiguo asignador O/R escrito en .NET 1.1 que devuelve objetos IList. Tengo un método que hace la conversión a una lista genérica <>, que no es eficiente, pero así son las cosas.
Y si necesita almacenar diferentes objetos en la misma matriz (raro pero posible) usted necesita una colección no genérica. La penalización de Boxeo y Unboxing es algo que tendrás que pagar de todos modos.
No tenga miedo de usarlos si usted siente que es necesario.
¿Qué hay de System.Collections.BitArray? Realmente no tiene un equivalente genérico. – Triynko
@Triynko un BitArray es una colección con establecimiento inflexible de booleanos con usos especiales, no una colección vagamente escrito muy abstracta de objetos como el PO está hablando de – Novaterata
Sin dicts no genéricos, ¿cómo de manera eficiente y fácil almacenar, por ejemplo, Datos JSON, que están llenos de Dictionary/Hashtable: string-to- (int/string/bool/Dictionary/List)? Me parece muy tonto descartar colecciones no genéricas, cuando en el mundo real la mayoría de los datos son, por naturaleza, no tipados, y necesitamos herramientas como C no genéricas para ayudarnos a captar, analizar, convertir y verificar fácilmente , etc ... no? – Adam