TEMARIO CAPITULO III.- INTRODUCCIN AL LENGUAJE DE PROGRAMACIN C#
Introduccin a las Colecciones
Colecciones Una coleccin es un tipo de dato que acta como un contenedor para un conjunto de objetos. Cuando se define un arreglo, se especifica el tipo de dato que almacena el arreglo y el tamao de la arreglo. Una coleccin es ms flexible ya que al momento de crearla no se tiene que especificar el tamao ni el tipo de dato almacenar. El .Net Framework define las colecciones en los Namespace System.Collections y System.Collections.Generics INTRODUCCIN A LAS COLECCIONES Colecciones Existen 2 tipos de Colecciones: Genricas y No Genricas Colecciones No Genricas: as colecciones no genricas su caracterstica es que no son fuertemente tipificadas por lo que almacenan un dato genrico que es object. Al momento de almacenar los objetos de convierten en el tipo object y para obtenerlo se deben convertir al dato en cuestin. Colecciones No Genricas Mas Comunes: ArrayList Una coleccin sin orden en los elementos, similar a un arreglo. Los elementos son obtenidos por ndice Queue FIFO (first-in, first-out). Primero en entrar primero en salir. Se utiliza el mtodo Enqueue en vez de Add Stack FILO (first-in, last-out). Primero en entrar ultimo en salir. Se utiliza el mtodo Push en vez de Add Hashtable Coleccin tipo diccionario que almacena los elementos relacionado con llave (key) en vez de ndices. SortedList Una coleccin tipo diccionario, que almacena los elementos ordenados por una llave. Colecciones Genricas Son tipos parametrizados soportados por el CLR Un tipo parametrizado es aquel que puede definirse sin especificar los tipos de datos de sus parmetros en tiempo de compilacin. Nos dan la posibilidad de declarar clases, estructuras, mtodos e interfaces que actuarn uniformemente sobre valores cuyos tipos se desconocen a priori y son recin especificados al momento de su utilizacin Generics - Ejemplo Definiendo una clase genrica en C# Utilizando una clase genrica en C# public class ClaseGenerica<T> { public T atributo; } ClaseGenerica <string> g = new ClaseGenerica<string>(); g.atributo = Un string"; g.atributo = 2; //Genera Error de Compilacin
ClaseGenerica<int> g2 = new ClaseGenerica<int>(); g2.atributo = 2; //NO genera error de compilacin Generics - Colecciones Colecciones Genricas Vs. Colecciones Tradicionales System.Collections.Generic System.Collections Comparer<T> Comparer Dictionary<K,T> HashTable List<T> ArrayList Queue<T> Queue SortedDictionary<K,T> SortedList Stack<T> Stack ICollection<T> ICollection IComparable<T> System.IComparable IComparer<T> IComparer IDictionary<K,T> IDictionary IEnumerable<T> IEnumerable IEnumerator<T> IEnumerator IKeyComparer<T> IKeyComparer IList<T> IList Ejemplos Sin generics Con generics Ejercicios Desarrollar un programa que guarde y lea de un archivo los siguientes dato: Cedula, Nombre, Apellido, Telfono, Fecha Nacimiento. El programa debe utilizar una estructura con los datos descritos anteriormente y tambin una coleccin para administrar los registros en memoria, es decir que no existe un mximo de registros. El programa debe permitir: Agregar, borrar y buscar (por cedular) los registros almacenados el archivo. A inicio del programa debe leer del archivo para cargarlos en la coleccin.