Colecciones y estructuras de datos
Los datos estrechamente relacionados se pueden tratar con más eficacia si se agrupan en una colección. En lugar de escribir código independiente para tratar cada objeto individualmente, puede usar el mismo código para procesar todos los elementos de una colección.
Para administrar una colección, use la clase System.Array y las clases de los espacios de nombres System.Collections, System.Collections.Generic y System.Collections.Concurrent para agregar, quitar y modificar elementos individuales o intervalos de elementos de la colección. También se puede copiar una colección en otra.
Algunas clases System.Collections tienen capacidades de ordenación y la mayor parte están indizadas. La administración de la memoria se controla automáticamente y la capacidad de una colección se expande si es necesario. La sincronización proporciona seguridad para los subprocesos cuando se tiene acceso a los miembros de una colección. Algunas clases System.Collections pueden generar contenedores que hacen que la colección sea de solo lectura o que tenga un tamaño fijo. Cualquier clase System.Collections puede generar su propio enumerador que facilita la iteración por los elementos.
En .NET Framework versión 2.0, las clases de colección genéricas proporcionan una nueva funcionalidad y facilitan la creación de colecciones con establecimiento inflexible de tipos. Vea los espacios de nombres System.Collections.Generic y System.Collections.ObjectModel.
En .NET Framework versión 4, las colecciones del espacio de nombres System.Collections.Concurrent proporcionan operaciones eficaces y seguras para subprocesos con el fin de obtener acceso a los elementos de colección desde varios subprocesos.
La característica LINQ to Objects permite usar consultas LINQ para obtener acceso a los objetos en memoria mientras el tipo de objeto implemente la interfaz System.Collections.IEnumerable o System.Collections.Generic.IEnumerable<T>. Las consultas LINQ proporcionan un modelo común para el acceso a datos; suelen ser más concisas y legibles que los bucles foreach estándar, y proporcionan capacidades de filtrado, ordenación y agrupación. Las consultas LINQ también pueden mejorar el rendimiento. Para obtener más información, vea LINQ to Objects y Parallel LINQ (PLINQ).
Temas relacionados
Título |
Descripción |
---|---|
Define los tipos de colección y explica las diferencias entre los tipos de colección genéricos y no genéricos de la biblioteca de clases de .NET Framework. |
|
Describe los tipos de colección genéricos y no genéricos más utilizados, como System.Array, System.Collections.Generic.List<T> y System.Collections.Generic.Dictionary<TKey, TValue>. |
|
Describe los tipos de colección System.Collections.BitArray y System.Collections.Specialized.BitVector32. |
|
Describe colecciones especiales, como System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.StringDictionary y System.Collections.Specialized.StringCollection. |
|
Describe los tipos de colección, como System.Collections.Concurrent.BlockingCollection<T> y System.Collections.Concurrent.ConcurrentBag<T>, que admiten un acceso simultáneo seguro y eficaz desde varios subprocesos. |
|
Describe cómo seleccionar el mejor tipo de colección, enumerar las colecciones, utilizar colecciones con varios subprocesos y ordenar las colecciones. |
|
Describe el uso de los tipos de colección genéricos. |