Mantener cosas en clases de C # de recogida
Muchas variables son para almacenar una cosa, como un número o una frase. Un objeto puede tener un montón de propiedades, el almacenamiento de una gran cantidad de información acerca de un solo concepto. A veces, sin embargo, sólo hay que seguir la pista de una gran lista de cosas. Ahí es donde las clases de colección vienen en.
Las clases de colección en C # son impresionantes, ya que pueden ayudar a mantener una lista de elementos, o un grupo de claves y valores, y proporcionar la búsqueda, proctoring, y las herramientas de mantenimiento en general de forma gratuita. Eso es mucho más fácil que escribir los dos "clientes ordenar por apellido 'centésima método de este mes.
C # tiene clases básicas de recolección, clases de colección genéricos, y clases de colección concurrentes. Estos últimos son de hilo de seguridad de las operaciones en un entorno multiprocesador. Todas estas clases de colección son útiles si usted sabe dónde y cuándo usarlos.
Colecciones regulares
Colecciones regulares almacenar cosas sin tipo para usted. Si usted no sabe exactamente lo que vas a almacenar, colecciones regulares son para usted. La mayoría de todo en estas clases se almacenan como objetos.
Clase | Descripción |
---|---|
Lista de arreglo | Esta es sólo una colección sencilla de objetos cuya sizeis declarado inicialmente, y que el tamaño aumenta, según sea necesario (perono disminuye). |
Tabla de picadillo | Sólo una tabla de dos columnas de claves y valores, donde las parejas arelinked para clasificar una recuperación. |
Cola | Un primero en entrar, último en salir (FIFO) lista de elementos. Gran para la materia proceso storingprogram. |
Pila | Como una cola, pero Last In First Out (LIFO). |
Colecciones genéricas
C # 2.0 colecciones genéricas introducidas. Colecciones genéricas permiten almacenar colecciones con tipo de artículos, como se declara en tiempo de ejecución.
Clase | Descripción |
---|---|
Diccionario | Sólo un HastTable, excepto escrito, por lo que no tiene tostore objeto, objetos. TKey y TValue son tipos, por lo que puede almacenar-lista de si quieres. |
Lista | Esta es la nueva matriz. Es una lista mecanografiada de artículos. Byfar, la clase de colección más común utilizado. Es la default.ifdon't necesita una lista de las personas, es una lista |
Cola | Similar a la cola sin tipo, pero, bueno, a máquina! |
SortedList | Este diccionario impresionante implementa IComparable para que canbe ordenan. |
Pila | Al igual que la pila sin tipo, excepto mecanografiadas. |
Clases de colección concurrentes
Por último, las clases concurrentes se aseguran de que los objetos se almacenan en una lista están disponibles en cualquier espacio de la memoria, no importa qué procesador. Es un reparto más grande de lo que piensas.
Clase | Descripción |
---|---|
BlockingCollection | Es una clase thread-safe que prevenir un threadfrom alterar un campo que se puede acceder en otra cosa thread.Brilliant, de verdad. |
ConcurrentDictionary | Hablando de brillantes, este conjunto de pares clave / valor puede beaccessed por varios subprocesos. |
ConcurrentQueue | Recuerde que la pila FIFO? Sí. Éste es genérico y multi-hilo. |
ConcurrentStack | Las colecciones orquestadas son útiles. They'rebeneficial para la memoria, por una cosa. De todos modos, éste es LIFO andthread-seguro, también. |