Diccionarios y Refactoring en Programación Básica

Clase 23 de 35Curso de C# con .Net Core 2.1

Resumen

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.

      Diccionarios y Refactoring en Programación Básica