domingo, 30 de julio de 2017

Colecciones en C# - Introducción

Índice

1. Introducción
2. Palabras Clave
3. Temas Generales de Estudio y Práctica
4. Importancia de las Colecciones
5. Nombres de Espacios Relevantes
6. Conclusiones
7. Literatura & Enlaces

1. Introducción

Este artículo C# pretende ilustrar a grandes rasgos los temas relacionados con colecciones, los cuales se tratarán en los siguientes artículos. Temas que van desde el manejo de interfaces o protocolos; clases bases para la definición de tipos de datos de colecciones para los requisitos de estructuración de datos de un problema específico; y desde luego, el estudio y práctica de las estructuras de datos incorporadas en .NET: listas, conjuntos, diccionarios, entre otros.

2. Palabras Clave

  • Cola
  • Colección
  • Diccionario
  • Estructura de dato
  • Interfaz
  • Lista
  • Protocolo
  • Tipo de dato

3. Temas Generales de Estudio y Práctica

El estudio de colecciones en el lenguaje de programación C# merece que se lleve a cabo una elaborada exposición teórica, pero sobretodo, la implementación de fragmentos o ejemplos de código fuente que evidencien la formación sintáctica y la utilidad de las construcciones para colecciones o estructuras de datos.


Los temas relevantes de estudio que se tratarán en los siguientes artículos C# comprende el estudio de los temas:
  • Enumeración de elementos de una estructura de datos
  • Los protocolos o interfaces ICollection y IList
  • El tipo de datos Array
  • Estructuras de datos fundamentales: listas, colas, pilas, conjuntos, diccionarios
  • Diseño de colecciones o estructuras de datos personalizadas
  • Diseño de comparación e igualdad de elementos de una colección o estructura de datos

4. Importancia de las Colecciones

Las colecciones en C# permiten la gestión, es decir el almacenamiento, la recuperación, el ordenamiento y operaciones de manipulación de grupos o conjuntos de datos. A la hora de escribir una implementación -clase, método, función, etc.-, se requiere guardar y recuperar datos para subsecuentes manipulaciones. El almacenamiento y recuperación se deben realizar de forma eficiente e intuitiva: el programador debería concentrarse más en el desarrollo de la implementación que en el funcionamiento subyacente del tipo de estructura -lista, cola, pila, etc.-, en uso.

Continuando, una colección o estructura de datos se puede ver como un receptáculo para la contención de la informoción del estado de una o más entidades que comprenden el problema que se está resolviendo. Visualmente se puede ver como la representación de la siguiente figura:
Estructura de datos o colección
Figura 1. Introducción - Deficiones ("Data Structure", 2017).

5. Nombres de Espacios Relevantes

En .NET Framework se dispone de varios nombres de espacio donde se localizan los protocolos, clases, y construcciones adicionales para el trabajo con estructuras de datos o colecciones. En la Figura 2 se resumen estos namespaces:
Namespaces de colecciones en .NET Framework
Figura 2. Namespaces de colecciones en .NET Framework (Albahari, 2012).
En próximos artículos se presentarán descripciones y ejemplos esenciales para comprender su utilidad en el desarrollo de aplicaciones que requieran manipular datos siguiendo una lógica de almacenamiento y recuperación acorde a una colección predefinida o implementada por el propio programador.

6. Conclusiones

En este primer artículo de Colecciones en C# se presentó una generalización de los temas relacionados con colecciones o estructuras de datos, los cuales se profundizarán en próximas entregas; que al mismo tiempo contendrán las descripciones conceptuales, la motivación, la relevancia, y ejemplos prácticos esenciales de este tipo de construcciones o elementos de programa del lenguaje o el Framework.

En el siguiente artículo se iniciará la discusión conceptual acerca de la enumeración o enlistamiento de elementos de datos en una colección.

7. Literatura & Enlaces

Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.
Data structure — R introduction documentation
http://venus.ifca.unican.es/Rintro/dataStruct.html


O