sirve que para generic ejemplo and .net list collections containers ilist

.net - que - public list c#



Mejor contenedor de cadenas: StringCollection, Collection<string>, List<string>, ArrayList,..? (2)

¿Cuál es el contenedor más adecuado solo para cadenas que se mantienen en una matriz con límite superior no predeterminado, cuya longitud se desconoce en su creación.

Para un código simple como:

var list = new SomeContainer(); // size is unknown for()/foreach()/do()/while() // any loop { list.Add(string); }

¿Es StringCollection como colección optimizada para cadena, o simplemente Collection<string> o List<string> o ArrayList ? ¿Cuál es la diferencia entre ellos?


Para lo que necesita, List<string> es probablemente el más versátil. StringCollection fue útil en 1.1, cuando (sin genéricos) necesitaba clases específicas para colecciones tipadas. Collection<string> es útil si desea crear una subclase para proporcionar validación, etc.

De cualquier manera, en 3.5, LINQ proporcionará muchos métodos adicionales para ellos, pero sin LINQ, List<T> tiene más características ( Find , Sort , etc.)


Una List<T> sería la más eficiente.

La clase Collection<T> es simplemente un contenedor para otro tipo de lista, el constructor sin parámetros inicializa la Collection<T> con una List<T> .

Una ArrayList es esencialmente lo mismo que una List<object> , por lo que tendría que convertir los elementos en String al leer de ella.

Un StringCollection es solo un contenedor seguro para un ArrayList .