8 introduccion colecciones
TRANSCRIPT
Módulo I- Introducción a la Programación en Módulo I- Introducción a la Programación en la Plataforma .Net con C#la Plataforma .Net con C#
TEMARIOTEMARIO
CAPITULO III.- INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#
Introducción a las ColeccionesIntroducción a las Colecciones
ColeccionesColeccionesUna colección es un tipo de dato que actúa Una colección es un tipo de dato que actúa como un contenedor para un conjunto de como un contenedor para un conjunto de objetos.objetos.Cuando se define un arreglo, se especifica el Cuando se define un arreglo, se especifica el tipo de dato que almacena el arreglo y el tipo de dato que almacena el arreglo y el tamaño de la arreglo. Una colección es más tamaño de la arreglo. Una colección es más flexible ya que al momento de crearla no se flexible ya que al momento de crearla no se tiene que especificar el tamaño ni el tipo de tiene que especificar el tamaño ni el tipo de dato almacenar.dato almacenar.El .Net Framework define las colecciones en El .Net Framework define las colecciones en los Namespace los Namespace System.CollectionsSystem.Collections y y System.Collections.GenericsSystem.Collections.Generics
INTRODUCCIÓN A LAS COLECCIONESINTRODUCCIÓN A LAS COLECCIONES
ColeccionesColecciones
Existen 2 tipos de Colecciones: Existen 2 tipos de Colecciones: Genéricas Genéricas y No Genéricasy No Genéricas
Colecciones No Genéricas: Colecciones No Genéricas: as as colecciones no genéricas su característica colecciones no genéricas su característica es que no son fuertemente tipificadas por lo es que no son fuertemente tipificadas por lo que almacenan un dato genérico que es que almacenan un dato genérico que es object.object.Al momento de almacenar los objetos de Al momento de almacenar los objetos de convierten en el tipo object y para obtenerlo convierten en el tipo object y para obtenerlo se deben convertir al dato en cuestión.se deben convertir al dato en cuestión.
Colecciones No Genéricas Mas Comunes:Colecciones No Genéricas Mas Comunes:ArrayListUna colección sin orden en los elementos, similar a un arreglo. Los elementos son obtenidos por índice
QueueFIFO (first-in, first-out). Primero en entrar primero en salir. Se utiliza el método Enqueue en vez de Add
StackFILO (first-in, last-out). Primero en entrar ultimo en salir. Se utiliza el método Push en vez de Add
HashtableColección tipo diccionario que almacena los elementos relacionado con llave (key) en vez de índices.
SortedList
Una colección tipo diccionario, que almacena los elementos ordenados por una llave.
Colecciones GenéricasColecciones Genéricas
Son tipos parametrizados soportados por el Son tipos parametrizados soportados por el CLRCLR Un tipo parametrizado es aquel que puede Un tipo parametrizado es aquel que puede
definirse sin especificar los tipos de datos de definirse sin especificar los tipos de datos de sus parámetros en tiempo de compilación.sus parámetros en tiempo de compilación.
Nos dan la posibilidad de declarar clases, Nos dan la posibilidad de declarar clases, estructuras, métodos e interfaces que estructuras, métodos e interfaces que actuarán uniformemente sobre valores actuarán uniformemente sobre valores cuyos tipos se desconocen a priori y son cuyos tipos se desconocen a priori y son recién especificados al momento de su recién especificados al momento de su utilizaciónutilización
Generics - EjemploGenerics - Ejemplo
Definiendo una clase genérica en C#Definiendo una clase genérica en C#
Utilizando una clase genérica en C#Utilizando una clase genérica 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 Compilación…ClaseGenerica<int> g2 = new ClaseGenerica<int>();g2.atributo = 2; //NO genera error de compilación
Generics - ColeccionesGenerics - Colecciones
Colecciones Genéricas 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
EjemplosEjemplos
Sin generics
Con generics
EjerciciosEjercicios
Desarrollar un programa que guarde y lea de un Desarrollar un programa que guarde y lea de un archivo los siguientes dato: Cedula, Nombre, archivo los siguientes dato: Cedula, Nombre, Apellido, Teléfono, Fecha Nacimiento. El programa Apellido, Teléfono, Fecha Nacimiento. El programa debe utilizar una estructura con los datos descritos debe utilizar una estructura con los datos descritos anteriormente y también una colección para anteriormente y también una colección para administrar los registros en memoria, es decir que administrar los registros en memoria, es decir que no existe un máximo de registros. El programa no existe un máximo de registros. El programa debe permitir: Agregar, borrar y buscar (por debe permitir: Agregar, borrar y buscar (por cedular) los registros almacenados el archivo. A cedular) los registros almacenados el archivo. A inicio del programa debe leer del archivo para inicio del programa debe leer del archivo para cargarlos en la colección.cargarlos en la colección.