Diccionarios y Refactoring en Programación Básica
Clase 23 de 35 • Curso de C# con .Net Core 2.1
Contenido del curso
Etapa 5 – POO reutilicemos nuestro código
- 2

Herencia para reutilizar código C#
10:30 min - 3

Herencia y Polimorfismo en Programación Orientada a Objetos
11:42 min - 4

Polimorfismo en Programación Orientada a Objetos
13:17 min - 5

Casting en C#: cuándo funciona y cuándo falla
07:09 min - 6

Conversiones seguras en C# con is y as
12:44 min - 7

Sobrescribir ToString para depuración en C#
08:15 min
Etapa 6- Ajustes y funcionalidad
Etapa 7 – Preparando información para nuestros reportes
- 11

Manejo Avanzado de Métodos y Parámetros en Programación
15:43 min - 12

Manejo de Parámetros de Salida en Visual Studio Code
04:38 min - 13

Sobrecarga de Métodos para Parámetros de Salida Opcionales
05:51 min - 14

Optimización de Listas: Buenas Prácticas en C#
04:16 min - 15

Dictionary: cómo funciona en C#
11:14 min - 16

Diccionarios con polimorfismo en C#
10:48 min - 17

Uso de Constantes y Enumeraciones para Optimizar Diccionarios en C#
11:33 min - 18

Foreach anidado para diccionarios en C#
13:47 min - 19

Depuración de diccionarios en C#
09:37 min - 20

Parámetro opcional para controlar impresión en C#
11:47 min - 21

Cómo usar switch en lugar de if/else
14:30 min - 22

Números aleatorios y eventos en C#
12:52 min - 23

Diccionarios y Refactoring en Programación Básica
Viendo ahora
Etapa 8 – Consultas
- 24

Cómo crear un reporteador en C sharp
11:42 min - 25

Generación segura de reportes en sistemas de información
10:21 min - 26

Construcción de reportes con LINQ en C#
11:48 min - 27

Diccionario con evaluaciones por asignatura
08:32 min - 28

Tipos anónimos en LINQ para reportes complejos
10:52 min - 29

Cálculo del Promedio de Notas Agrupadas por Alumno y Asignatura
10:46 min - 30

Creación de Tipos de Datos Personalizados en Programación Avanzada
12:05 min - 31

Generación de Reportes con LINQ en C#
02:09 min
Etapa 9 – Creando una UI de Consola
Domina los puntos clave de C Sharp para construir código claro y flexible: diccionarios, refactoring, colecciones con IEnumerable T e IAsyncCollection, conversión con cast, operador switch, eventos, delegados y parámetros de salida. Aquí tienes lo esencial para aplicarlo con confianza.
¿Qué aportan los diccionarios y el refactoring?
Los diccionarios se presentan como construcciones “más sofisticadas” que otras clases, útiles en distintos contextos y con gran versatilidad. Partiendo de una lista, se realizó refactoring progresivo hasta convertirla en un diccionario, mostrando cuándo y por qué conviene adoptar esta estructura.
¿Por qué elegir diccionarios en distintos contextos?
- Son diferentes a la mayoría de clases y más elaborados.
- Ofrecen funcionalidad valiosa en múltiples aplicaciones.
- Permiten accesos y asociaciones clave-valor con claridad.
¿Cómo aplicar refactoring de lista a diccionario?
- Se parte de una lista sencilla.
- Se transforma gradualmente a un diccionario más elaborado.
- Resulta útil al crear muchas sobrecargas en lugar de un único método con demasiados parámetros opcionales.
- También aplica cuando los parámetros opcionales no son posibles.
¿Cómo manejar colecciones con IEnumerable y listas de solo lectura?
Se exploró IEnumerable T para exponer colecciones como una forma genérica de lista. Además, se vio brevemente las listas de solo lectura con IAsyncCollection, destacando la importancia de cómo se expone y recorre la información.
¿Qué resuelve el cast entre listas de tipos?
- Convertir una lista de un tipo a otra lista de otro tipo.
- Ejemplo ilustrativo: de una lista de cursos a una lista de objetos.
- Es necesario porque el árbol de herencia no funciona en esta instancia.
¿Qué implica exponer una colección como IEnumerable?
- Presentar una interfaz común para iterar datos.
- Simplificar el consumo de colecciones heterogéneas.
- Facilitar prácticas seguras de solo lectura según el caso.
¿Cómo mejorar legibilidad y control con switch, eventos y salida?
El operador switch ayuda a escribir código más compacto y legible frente a múltiples if. También se abordó la detección de la salida en una aplicación de consola, entendiendo qué es un evento y cómo gestionarlo con delegados o un conjunto de delegados que actúan como acciones. Se trabajó a fondo con parámetros de salida para controlar resultados.
¿Cuándo usar el operador switch para múltiples if?
- Cuando hay varias condiciones sobre un mismo valor.
- Para mejorar legibilidad y mantener el flujo claro.
- Para concentrar casos y evitar anidaciones.
¿Cómo manejar la salida por consola con eventos y delegados?
- Definir el evento que indica que la aplicación termina.
- Asociar delegados o un conjunto de delegados como acciones.
- Centralizar la lógica de cierre y limpieza.
¿Para qué sirven los parámetros de salida?
- Para devolver información adicional desde un método.
- Para comunicar estados o resultados sin crear estructuras extra.
- Para documentar expectativas claras del método.
¿Te fue útil este aprendizaje? Cuéntanos en qué te gustaría profundizar a partir de aquí: ¿más sobre Linqun? ¿más sobre colecciones? Comparte también tus avances del reto anterior y qué te gustaría mejorar para los próximos desafíos.