8 introduccion colecciones

10
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#

Upload: claribel-eusebio-nolasco

Post on 01-Jul-2015

3.219 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: 8 introduccion colecciones

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#

Page 2: 8 introduccion colecciones

TEMARIOTEMARIO

CAPITULO III.- INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#

Introducción a las ColeccionesIntroducción a las Colecciones

Page 3: 8 introduccion 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

Page 4: 8 introduccion 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.

Page 5: 8 introduccion colecciones

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.

Page 6: 8 introduccion colecciones

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

Page 7: 8 introduccion colecciones

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

Page 8: 8 introduccion colecciones

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

Page 9: 8 introduccion colecciones

EjemplosEjemplos

Sin generics

Con generics

Page 10: 8 introduccion colecciones

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.