C# Colección (Collection)
En C#,las clases de colección (Collection)Sídedicadas al almacenamiento y recuperación de datosson un tipo de clases.
Las colecciones nos permiten almacenar, gestionar y manipular fácilmente un conjunto de datos, por ejemplo:
- Acceder a los elementos de una lista mediante un índice;
- Acceder a los valores de un diccionario mediante una clave;
- Agregar o eliminar elementos dinámicamente, etc.
Las clases de colección brindan soporte para diversas estructuras de datos comunes, por ejemplo:
- Pila (Stack)— estructura LIFO (último en entrar, primero en salir);
- Cola (Queue)— estructura FIFO (primero en entrar, primero en salir);
- Lista (List)— secuencia ordenada que se puede expandir dinámicamente;
- Tabla hash (HashTable)— búsqueda rápida de datos mediante pares clave-valor.
Además, la mayoría de las clases de colección implementanla misma interfaz,,
lo que significa que tienen métodos de operación similares, como agregar, eliminar, recorrer, etc.
En las primeras versiones de C#, los elementos de una colección generalmente se almacenaban comoObjecttipo object; podemos poner en la colecciónobjetos de cualquier tipo. Esto se debe a que en C#,Objectobject es la clase base de todos los tipos de datos, ya seaint、stringel tipo de valor o clases personalizadas, en última instancia heredan de object.Object。
Varias clases de colección y sus usos
A continuación se muestran varias clases de uso común delSystem.Collectionespacio de nombres. Haga clic en el siguiente enlace para ver los detalles.
| Clase | Descripción y uso |
|---|---|
| Matriz dinámica (ArrayList) | Representa una colección ordenada de objetos que se puedenindexarindividualmente. Básicamente puede reemplazar a una matriz. Sin embargo, a diferencia de una matriz, puede usarun índicepara agregar y eliminar elementos en posiciones específicas; la matriz dinámica ajusta automáticamente su tamaño. También permite la asignación dinámica de memoria, así como agregar, buscar y ordenar elementos en la lista. |
| Tabla hash (Hashtable) | Utiliza la claveTeclapara acceder a los elementos de la colección. Cuando accede a elementos mediante una clave, se usa una tabla hash, y puede identificar un valor de clave útil. Cada elemento de una tabla hash tiene unpar clave/valor. La clave se usa para acceder a los elementos de la colección. |
| Lista ordenada (SortedList) | Puede usarTeclayun índicepara acceder a los elementos de la lista. Una lista ordenada es una combinación de una matriz y una tabla hash. Contiene una lista cuyos elementos se pueden acceder mediante una clave o un índice. Si accede a los elementos mediante un índice, es una matriz dinámica (ArrayList); si accede mediante una clave, es una tabla hash (Hashtable). Los elementos de la colección siempre están ordenados por el valor de la clave. |
| Pila (Stack) | Representa unaLIFO (último en entrar, primero en salir)colección de objetos. Cuando necesite acceder a los elementos en orden LIFO, use una pila. Cuando agrega un elemento a la lista, se llamaempujar (push)elemento; cuando elimina un elemento de la lista, se llamaextraer (pop)elemento. |
| Cola (Queue) | Representa unaFIFO (primero en entrar, primero en salir)colección de objetos. Cuando necesite acceder a los elementos en orden FIFO, use una cola. Cuando agrega un elemento a la lista, se llamaponer en cola (enqueue); cuando elimina un elemento de la lista, se llamasacar de la cola (dequeue)。 |
| Matriz de bits (BitArray) | Representa un arraybinariorepresentado por los valores 1 y 0. Cuando necesite almacenar bits, pero no sepa de antemano la cantidad de bits, use una matriz de bits. Puede usarun índice enteropara acceder a los elementos de la colección de matriz de bits; el índice comienza en cero. |