Diferencia entre la colección genérica y no genérica en C #

Diferencia Clave - Genérico vs No genérico Colección en C #
 

Una colección genérica es una clase que proporciona seguridad de tipos sin tener que derivar de un tipo de colección base e implementar miembros específicos del tipo. Una colección no genérica es una clase especializada para el almacenamiento y recuperación de datos que proporciona soporte para pilas, colas, listas y tablas hash. los diferencia clave entre la Colección Genérica y No Genérica en C # es que una colección genérica se escribe con fuerza mientras que una colección no genérica no se escribe con fuerza.

CONTENIDO

1. Resumen y diferencia clave
2. Qué es la Colección Genérica en C #
3. ¿Qué es la colección no genérica en C #
4. Similitudes entre la colección genérica y no genérica en C #
5. Comparación lado a lado: colección genérica frente a no genérica en C # en forma tabular
6. Resumen

Qué es la Colección Genérica en C #?

Las colecciones no genéricas como ArrayList, Queue, Stack, etc. pueden almacenar elementos de diferentes tipos de datos. Al obtener los elementos, el programador debe escribirlos al tipo de datos correcto. De lo contrario, puede causar una excepción de tiempo de ejecución. Las clases de colección genéricas se pueden utilizar para superar este problema. Las colecciones genéricas almacenan elementos internamente en arreglos de sus tipos reales. Por lo tanto, no se requiere la conversión de tipo. Se pueden utilizar para almacenar elementos del tipo o tipos especificados. Algunas clases de colecciones genéricas son Lista, Diccionario, Lista ordenada, Conjunto hash, Cola, Pila .

El GenericList contiene elementos del tipo especificado. Puede aumentar la lista en consecuencia al agregar elementos. Cuando hay una declaración como la siguiente, todos los elementos que pueden almacenarse en la lista1 deben ser enteros,

List list1 - new List ();

El diccionario genérico en C # es una colección de claves y valores. Cuando hay una declaración como la siguiente, el objeto dictionary1 puede almacenar claves de tipo int y valores de tipo de cadena.

Dictionary Dictionary1 = new Dictionary ();

Una colección genérica de SortedList almacena los pares de clave y valor en orden ascendente de clave de forma predeterminada. El siguiente ejemplo almacena la clave del tipo int y el valor del tipo de cadena.

SortedList s0 = new SortedList ();

Esos son algunos ejemplos para la Colección Genérica en C #. Estas colecciones pueden almacenar múltiples valores de los tipos de datos especificados. Por lo tanto, están fuertemente tipados.

¿Qué es la colección no genérica en C #?

Las matrices se pueden utilizar para almacenar múltiples elementos. Un inconveniente es que puede almacenar elementos del mismo tipo de datos. Hay clases en C # que se pueden usar para almacenar muchos valores u objetos conocidos como colecciones. Las colecciones ayudan a almacenar, actualizar, eliminar, buscar y ordenar objetos. El tamaño de la colección se puede aumentar o disminuir dinámicamente..

Algunas clases de colecciones no genéricas son ArrayList, SortedList, Stack, Queue y HashTable. Cada clase de colección implementa la interfaz IEnumerable. Ayuda a recorrer los elementos de los elementos de la colección utilizando el bucle foreach.

ArrayList es una alternativa a una matriz. Si hay una matriz que puede almacenar 10 elementos, no puede almacenar 20 elementos. Si la matriz se inicializa a 10 elementos pero solo almacena 5 elementos, el resto no se utiliza. Por lo tanto, una matriz es fija. En un ArrayList, es posible agregar o eliminar elementos según el índice. Permite la asignación dinámica de memoria. El método de clasificación se puede utilizar para ordenar los elementos en orden ascendente.

La tabla hash se utiliza para representar una colección de pares de valores clave. Se organizan en función del hashCode de la clave. Por lo tanto, cada elemento tiene un par de valores clave. La clave se puede utilizar para acceder a un elemento en particular en la colección. La pila representa el último en entrar, el primero en salir de acceso a los elementos. La cola se utiliza para el primero en entrar primero en el acceso de los elementos. Esas son algunas de las colecciones no genéricas soportadas por C #. Estas colecciones pueden almacenar elementos de diferentes tipos..

¿Cuál es la similitud entre la colección genérica y no genérica en C #?

  • Tanto la Colección Genérica como la No Genérica se pueden usar para almacenar múltiples elementos en C #.

¿Cuál es la diferencia entre la colección genérica y no genérica en C #?

Colección genérica vs no genérica en C #

Una colección genérica es una clase que proporciona seguridad de tipos sin tener que derivar de un tipo de colección base e implementar miembros específicos de tipo. Una colección no genérica es una clase especializada para el almacenamiento y recuperación de datos que proporciona soporte para pilas, colas, listas y tablas hash..
 Espacio de nombres
Las clases de Colección Genérica están en el Sistema. Colecciones Espacio de nombres genéricos. Las clases de Colección No Genérica están en el Sistema. Espacio de nombres de colecciones.
Tipo
Una colección genérica está fuertemente tipada. Una colección no genérica no está fuertemente tipada.
 Elementos de almacenamiento
Las colecciones genéricas almacenan elementos internamente en arreglos de sus tipos reales. Las colecciones no genéricas almacenan elementos internamente en matrices de objetos para que pueda almacenar cualquier tipo de datos.

Resumen - Genérico vs No genérico Colección en C #

Este artículo discutió la diferencia entre la colección genérica y no genérica en C #. La diferencia entre la Colección genérica y la Colección no genérica es que una Colección genérica se tipifica fuertemente mientras que la Colección no genérica no se tipifica fuertemente.

Referencia:

1. "Cuándo usar colecciones genéricas". Microsoft Docs. Disponible aquí 
2. "Colección genérica en C #". TutorialsTeacher.com. Disponible aquí  
3. "Colección C #:" Colección en C #, TutorialsTeacher.com. Disponible aquí  
4. "Colecciones C #"., Punto de tutoriales, 19 de marzo de 2018. Disponible aquí

Imagen de cortesía:

1.'Logo C Sharp'By Microsoft , (Dominio público) a través de Commons Wikimedia