SlideShare una empresa de Scribd logo
1 de 10
Módulo I- Introducción a la Programación en
la Plataforma .Net con C#
TEMARIO

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

    Introducción a las Colecciones
INTRODUCCIÓN A LAS COLECCIONES
Colecciones
  Una colección es un tipo de dato que actúa
  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
  tamaño de la arreglo. Una colección es más
  flexible ya que al momento de crearla no se
  tiene que especificar el tamaño ni el tipo de
  dato almacenar.
  El .Net Framework define las colecciones en
  los Namespace System.Collections y
  System.Collections.Generics
Colecciones
 Existen 2 tipos de Colecciones: Genéricas
 y No Genéricas
 Colecciones No Genéricas: as
 colecciones no genéricas su característica
 es que no son fuertemente tipificadas por lo
 que almacenan un dato genérico que es
 object.
 Al momento de almacenar los objetos de
 convierten en el tipo object y para obtenerlo
 se deben convertir al dato en cuestión.
Colecciones No Genéricas Mas Comunes:
ArrayList
Una colección 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 método Enqueue en
vez de Add

Stack
FILO (first-in, last-out). Primero en entrar ultimo en salir. Se utiliza el método Push en vez de
Add

Hashtable
Colecció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éricas
  Son tipos parametrizados soportados por el
  CLR
     Un tipo parametrizado es aquel que puede
      definirse sin especificar los tipos de datos de
      sus parámetros en tiempo de compilación.
  Nos dan la posibilidad de declarar clases,
  estructuras, métodos e interfaces que
  actuarán uniformemente sobre valores
  cuyos tipos se desconocen a priori y son
  recién especificados al momento de su
  utilización
Generics - Ejemplo
  Definiendo una clase genérica en C#
 public class ClaseGenerica<T>
 {
   public T atributo;
 }


 Utilizando una clase genérica en C#
  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 - 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
Ejemplos
 Sin generics




 Con generics
Ejercicios
  Desarrollar un programa que guarde y lea de un
  archivo los siguientes dato: Cedula, Nombre,
  Apellido, Teléfono, Fecha Nacimiento. El programa
  debe utilizar una estructura con los datos descritos
  anteriormente y también una colección para
  administrar los registros en memoria, es decir que
  no existe un máximo 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 colección.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Cuestionario de java
Cuestionario de javaCuestionario de java
Cuestionario de java
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 
Cambiar color y fuente IDE eclipse
Cambiar color y fuente IDE eclipseCambiar color y fuente IDE eclipse
Cambiar color y fuente IDE eclipse
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Core java
Core java Core java
Core java
 
Ejercicios con Python parte 3
Ejercicios con Python parte 3Ejercicios con Python parte 3
Ejercicios con Python parte 3
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Java Stack Data Structure.pptx
Java Stack Data Structure.pptxJava Stack Data Structure.pptx
Java Stack Data Structure.pptx
 
C# Basics
C# BasicsC# Basics
C# Basics
 

Destacado

14 colecciones
14 colecciones14 colecciones
14 coleccionesvictdiazm
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en JavaRonny Parra
 
Caso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google AdwordsCaso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google AdwordsSugerendo
 
Desarrollo de extensión en Magento
Desarrollo de extensión en MagentoDesarrollo de extensión en Magento
Desarrollo de extensión en MagentoSugerendo
 
B2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidadesB2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidadesSugerendo
 
Seo en Magento
Seo en MagentoSeo en Magento
Seo en MagentoSugerendo
 

Destacado (7)

14 colecciones
14 colecciones14 colecciones
14 colecciones
 
9 fundamentos de oo
9 fundamentos de oo9 fundamentos de oo
9 fundamentos de oo
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en Java
 
Caso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google AdwordsCaso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google Adwords
 
Desarrollo de extensión en Magento
Desarrollo de extensión en MagentoDesarrollo de extensión en Magento
Desarrollo de extensión en Magento
 
B2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidadesB2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidades
 
Seo en Magento
Seo en MagentoSeo en Magento
Seo en Magento
 

Similar a 8 introduccion colecciones

Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracionEudris Cabrera
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datosAriel Medina
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxCarlosEspaa16
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptDaveRodriguez22
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylistjlmanmons
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETRoberto Taborda
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1Rokr02
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESEvans Balcazar
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldMiguelDiaz369
 
Stl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarStl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarAnabel Duarte
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientovay82
 

Similar a 8 introduccion colecciones (20)

Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datos
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
 
Java 8 collections
Java 8  collectionsJava 8  collections
Java 8 collections
 
Informe Poo
Informe PooInforme Poo
Informe Poo
 
Colecciones
ColeccionesColecciones
Colecciones
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gio
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Informe Proyecto Poo
Informe Proyecto PooInforme Proyecto Poo
Informe Proyecto Poo
 
Informe Proyecto Poo
Informe Proyecto PooInforme Proyecto Poo
Informe Proyecto Poo
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Biblioteca
BibliotecaBiblioteca
Biblioteca
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
Stl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandarStl bliblioteca de plantillas estandar
Stl bliblioteca de plantillas estandar
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamiento
 

Más de Claribel Eusebio Nolasco (7)

7 manejo de archivos
7 manejo de archivos7 manejo de archivos
7 manejo de archivos
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
5 metodos y parametros
5 metodos y parametros5 metodos y parametros
5 metodos y parametros
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
1 introduccion microsoft .net
1 introduccion microsoft .net1 introduccion microsoft .net
1 introduccion microsoft .net
 
10 sintaxis oo
10 sintaxis oo10 sintaxis oo
10 sintaxis oo
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 

Último (20)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 

8 introduccion colecciones

  • 1. Módulo I- Introducción a la Programación en la Plataforma .Net con C#
  • 2. TEMARIO CAPITULO III.- INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C#  Introducción a las Colecciones
  • 3. INTRODUCCIÓN A LAS COLECCIONES Colecciones Una colección es un tipo de dato que actúa 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 tamaño de la arreglo. Una colección es más flexible ya que al momento de crearla no se tiene que especificar el tamaño ni el tipo de dato almacenar. El .Net Framework define las colecciones en los Namespace System.Collections y System.Collections.Generics
  • 4. Colecciones Existen 2 tipos de Colecciones: Genéricas y No Genéricas Colecciones No Genéricas: as colecciones no genéricas su característica es que no son fuertemente tipificadas por lo que almacenan un dato genérico que es object. Al momento de almacenar los objetos de convierten en el tipo object y para obtenerlo se deben convertir al dato en cuestión.
  • 5. Colecciones No Genéricas Mas Comunes: ArrayList Una colección 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 método Enqueue en vez de Add Stack FILO (first-in, last-out). Primero en entrar ultimo en salir. Se utiliza el método Push en vez de Add Hashtable Colecció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.
  • 6. Colecciones Genéricas Son tipos parametrizados soportados por el CLR  Un tipo parametrizado es aquel que puede definirse sin especificar los tipos de datos de sus parámetros en tiempo de compilación. Nos dan la posibilidad de declarar clases, estructuras, métodos e interfaces que actuarán uniformemente sobre valores cuyos tipos se desconocen a priori y son recién especificados al momento de su utilización
  • 7. Generics - Ejemplo Definiendo una clase genérica en C# public class ClaseGenerica<T> { public T atributo; } Utilizando una clase genérica en C# 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
  • 8. Generics - 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
  • 9. Ejemplos Sin generics Con generics
  • 10. Ejercicios Desarrollar un programa que guarde y lea de un archivo los siguientes dato: Cedula, Nombre, Apellido, Teléfono, Fecha Nacimiento. El programa debe utilizar una estructura con los datos descritos anteriormente y también una colección para administrar los registros en memoria, es decir que no existe un máximo 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 colección.

Notas del editor

  1. Module 12: Using Collections and Building Generic Types Course 10266A
  2. El .NET Framework 2.0 introduce el concepto de generics, permitiendo la creación de código más flexible y reutilizable. Por generics en realidad se entiende a una característica del CLR que permite declarar clases, estructuras, interfaces y métodos sin especificar en tiempo de compilación los tipos de datos que almacenan o utilizan, y especificando en su lugar parámetros “genéricos”. Los tipos reales de los datos se especifican cuando el tipo genérico es utilizado y no cuando es declarado, permitiendo definirlo una única vez y utilizarlo muchas veces con parámetros de distinto tipo. Generics está soportado directamente por el CLR, aunque sólo se puede hacer uso de esta característica desde Visual Basic.NET, C# y C++ .NET. Para obtener más información acerca de generics puede consultarse el siguiente sitio web: http://msdn2.microsoft.com/en-us/library/ms172193.aspx La misma información se encuentra disponible en la siguiente sección del .NET Framework 2.0 SDK: .NET Framework &gt; Core Development Technologies &gt; Development Fundamentals &gt; Generics
  3. Al definir una clase genérica especificamos un contenedor, o parámetro de tipo genérico, para los tipos de dato que ésta almacenará y utilizará. Este parámetro de tipo genérico se identifica con la letra “T”. Al crear una instancia de una clase genérica se debe especificar el tipo de dato real que será utilizado en lugar del parámetro de tipo genérico. De esta forma, el tipo de dato que definamos al instanciar la clase genérica reemplazará al tipo genérico en todos los lugares donde éste aparezca. Para ver más ejemplos sobre el uso práctico de generics es recomendable revisar el código fuente de la aplicación de referencia que acompaña el presente módulo del curso.
  4. El .NET Framework 2.0 incluye en el namespace System.Collections.Generic una serie de colecciones genéricas que, siempre que sea posible, deberían ser utilizadas en lugar de sus equivalentes de System.Collections. En la tabla se pueden ver las nuevas colecciones e interfaces genéricas, junto con sus equivalentes no genéricas del namespace System.Collections. Las colecciones de System.Collections están preparadas para recibir y devolver un System.Object (clase base de todas las clases .NET), y dejan a responsabilidad de los desarrolladores el casteo al tipo de dato correspondiente al obtener un elemento determinado. Las colecciones genéricas, en cambio, son fuertemente tipadas, ya que al momento de instanciarse se define el tipo de dato de los objetos que almacenará, y el compilador hace uso de esa definición para permitir insertar y obtener solamente elementos de ese tipo sin tener que realizar ninguna conversión.
  5. Las dos desventajas principales de la utilización de de colecciones no genéricas son: Performance : como almacenan System.Object, cualquier tipo por referencia que agregue a la colección será casteado automáticamente a un Object, y cualquier tipo por valor deberá ser convertido su correspondiente tipo por referencia para ser casteado luego a Object (a esta operación se la conoce como Boxing). Los casteos y operaciones de boxing/unboxing necesarias para insertar y obtener elementos de las colecciones no genéricas tienen un impacto negativo en la performance de las mismas. Falta de validación en tiempo de compilación : al almacenar objetos de tipo System.Object, no hay forma de que el compilador valide que los datos que se están insertando en una colección sean válidos para la aplicación. Estos dos problemas se solucionan, como se puede apreciar en el ejemplo de código fuente, con el uso de las colecciones genéricas.