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.

ClaseDescripció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.

Otras extensiones