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

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 tipo 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 brinda soporte para pilas, colas, listas y hashtables. El diferencia clave entre la colección genérica y no genérica en C# es que Una colección genérica está fuertemente escrita, mientras que una colección no genérica no está fuertemente escrita.

CONTENIDO

1. Descripción general y diferencia de claves
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 vs 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, cola, pila, etc. puede almacenar elementos de diferentes tipos de datos. Al obtener los elementos, el programador debe escribirlos al tipo de datos correcto. Más, puede causar una excepción de tiempo de ejecución. Las clases de recolección genérica se pueden usar para superar este problema. Las colecciones genéricas almacenan elementos internamente en matrices de sus tipos reales. Por lo tanto, no se requiere fundición de tipo.  Se pueden usar para almacenar elementos del tipo o tipos especificados.  Algunas clases de colección genérica son List, Dictionary, SortedList, Hashset, Queue, Stack .

GenericList contiene elementos de tipo especificado. Puede aumentar la lista en consecuencia al agregar elementos. Cuando hay una declaración de la siguiente manera, todos los elementos que se pueden almacenar en la lista1 deben ser enteros,

List List1 - nueva lista ();

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

Diccionario diccionario1 = new Dictionary ();

Una colección genérica de Sortedlist almacena la tecla y los pares de valor en orden ascendente de clave de forma predeterminada. A continuación, las tiendas de ejemplo, la clave del tipo int y el valor del tipo de cadena.

SortedList s0 = new SortedList ();

Esos son pocos ejemplos para la colección genérica en C#. Estas colecciones pueden almacenar múltiples valores de los tipos de datos especificados. Entonces, están fuertemente escritos.

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

Las matrices se pueden usar 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, ordenar objetos. El tamaño de la colección se puede aumentar o disminuir dinámicamente.

Algunas clases de colección no genérica son ArrayList, SortedList, Stack, Queue y Hashtable. Cada clase de colección implementa la interfaz IEnumerable. Ayuda a iterar a través de los elementos de los elementos en 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 inicializó en 10 elementos pero solo almacena 5 elementos, entonces el resto no se usa. Por lo tanto, se fija una matriz. En una lista de matrices, es posible agregar o eliminar elementos dependiendo del índice. Permite la asignación de memoria dinámica. El método de clasificación se puede usar para ordenar los elementos en orden ascendente.

La hashtable se usa para representar una colección de pares de valor clave. Están organizados en función del hashcode de la clave. Por lo tanto, cada elemento tiene un par de valor clave. La clave se puede usar para acceder a un elemento particular en la colección. La pila representa el último acceso primero a los elementos. La cola se usa para el primer acceso de los artículos. Esas son algunas de las colecciones no genéricas respaldadas 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#??

  • La colección genérica y no genérica se puede 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 tipo 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 brinda soporte para pilas, colas, listas y tablas de hash.
 Espacio de nombres
Las clases de recolección genérica están en el sistema. Colecciones. Espacio de nombres de genéricos. Las clases de colección no genéricas están en el sistema. Espacio de nombres de colecciones.
Tipo
Una colección genérica está fuertemente escrita. Una colección no genérica no está fuertemente escrita.
 Almacenamiento de elementos
Las colecciones genéricas almacenan elementos internamente en matrices 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 no genérica es que una colección genérica se escribe fuertemente, mientras que una colección no genérica no está firmemente escrita.

Referencia:

1."Cuándo usar colecciones genéricas."Microsoft Docs. Disponible aquí 
2."Colección genérica en C#."Tutorialsteacher.comunicarse. Disponible aquí  
3."Collection C#:" Colección en C#, tutorialsteacher.comunicarse. Disponible aquí  
4."Clases C#.", Tutorials Point, 19 mar. 2018. Disponible aquí

Imagen de cortesía:

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