Introducción

1

Programación Avanzada en C# con Netcore

Etapa 5 – POO reutilicemos nuestro código

2

Reutilización de Código en C y Programación Orientada a Objetos

3

Herencia y Polimorfismo en Programación Orientada a Objetos

4

Polimorfismo en Programación Orientada a Objetos

5

Polimorfismo en Programación: Uso y Errores Comunes en Visual Studio

6

Validación y Conversión de Tipos en C# para Gestión de Objetos Escuela

7

Sobrescritura de Método ToString para Depuración Eficiente

Etapa 6- Ajustes y funcionalidad

8

Implementación de Interfaces en Programación Orientada a Objetos

9

Uso de Interfaces y Polimorfismo en Visual Studio Code

10

Uso de Regiones en Visual Studio para Mejorar la Legibilidad del Código

Etapa 7 – Preparando información para nuestros reportes

11

Manejo Avanzado de Métodos y Parámetros en Programación

12

Manejo de Parámetros de Salida en Visual Studio Code

13

Sobrecarga de Métodos para Parámetros de Salida Opcionales

14

Optimización de Listas: Buenas Prácticas en C#

15

Uso de Diccionarios en C# para Gestión de Datos en Aplicaciones

16

Creación y Manejo de Diccionarios en C# para Aplicaciones Escolares

17

Uso de Constantes y Enumeraciones para Optimizar Diccionarios en C#

18

Creación y Manejo de Diccionarios en C# para Gestión Escolar

19

Impresión de Diccionarios en Visual Studio con C#

20

Filtrado y Personalización de Impresión en C#

21

Uso del operador switch en Visual Studio para optimizar código

22

Optimización de Algoritmos y Eventos en C#

23

Diccionarios y Refactoring en Programación Básica

Etapa 8 – Consultas

24

Consultas y Reportes en Proyectos C# Básicos

25

Generación segura de reportes en sistemas de información

26

Generación de Reportes en Visual Studio Code

27

Creación de Reporte de Evaluaciones por Asignatura en Programación OO

28

Creación de Reportes Complejos con LinQ en Visual Studio

29

Cálculo del Promedio de Notas Agrupadas por Alumno y Asignatura

30

Creación de Tipos de Datos Personalizados en Programación Avanzada

31

Generación de Reportes con LINQ en C#

Etapa 9 – Creando una UI de Consola

32

Manejo de Excepciones y Captura de Datos en Consola en C#

33

Manejo de Excepciones en C#: Try, Catch y Finally

34

Creación de Menú de Reportes en Consola en C

35

Evaluación y Retroalimentación del Curso Básico de C

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Impresión de Diccionarios en Visual Studio con C#

19/35
Recursos

¿Cómo verificamos si nuestro diccionario está funcionando correctamente?

Verificar el correcto funcionamiento de un diccionario es crucial para asegurar que los datos se están almacenando y manejando adecuadamente. En este caso, en un ambiente de desarrollo como Visual Studio, seguir estos pasos permitirá realizar una revisión efectiva:

  1. Punto de interrupción: Establecer un punto de interrupción en el código para detener la ejecución y examinar el estado del diccionario.
  2. Ejecutar el programa: Usar F5 para iniciar el programa y llegar al punto de interrupción.
  3. Examinación del diccionario: Confirmar que el diccionario contiene los datos esperados en las claves correspondientes, tales como escuela, cursos, evaluación, asignaturas y alumnos.

Con un seguimiento detallado, se puede validar que se han asignado correctamente:

  • Lista de alumnos: 71 alumnos
  • Asignaturas: 20 asignaturas
  • Evaluaciones: 1420 registros de evaluaciones

¿Cómo se imprimen los datos del diccionario en C#?

Imprimir los datos del diccionario es esencial para visualizar y validar la información que se ha almacenado. En el contexto de un método en C#, esto se desarrolla de la siguiente manera:

  1. Definir el método de impresión: Crear un método público, como public void ImprimirDiccionario, que no retorne valor y reciba el diccionario como parámetro.

  2. Construcción del código: Implementar un bucle foreach para iterar sobre los elementos del diccionario.

    public void ImprimirDiccionario(Dictionary<string, IEnumerable<EscuelaBase>> dic)
    {
        foreach (var obj in dic)
        {
            Console.WriteLine(obj.Key);
            foreach (var val in obj.Value)
            {
                Console.WriteLine(val);
            }
        }
    }
    
  3. Ejecución en terminal: Use dotnet run para ver en la terminal todos los objetos que el método ha impreso.

Es clave realizar ajustes para que cada llave del diccionario imprima sus respectivos valores, permitiendo una visualización clara y efectiva de cada listado de elementos (alumnos, cursos, asignaturas, etc.).

¿Cómo se optimiza la impresión de elementos más complejos?

En la gestión de un diccionario que contiene diferentes tipos de datos, es fundamental garantizar que cada elemento se imprima de manera clara y comprensible. Aquí se muestra cómo ajustar la implementación para una impresión más detallada:

  1. Identificar el problema: Inicialmente, solo se imprimían las claves del diccionario; se necesita imprimir los valores asociados a cada clave.

  2. Ajustes en la implementación:

    • Asegurarse de que cada iteración del diccionario muestre los valores completos asociados a cada clave.
    • Incluir ToString() en las claves cuando sea necesario convertirlas a un formato imprimible.
    foreach (var kvp in dic)
    {
        Console.WriteLine(kvp.Key.ToString());
        foreach (var val in kvp.Value)
        {
            Console.WriteLine(val);
        }
    }
    
  3. Resultado esperado: Se imprimirán listas completas de valores para cada categoría del diccionario, desde las asignaturas hasta los alumnos, proporcionando una vista más clara de todos los datos almacenados.

Al optimizar estos procesos, se logra una impresión detallada y más organizada de toda la información que el diccionario contiene, facilitando la validación y análisis de datos almacenados.

Aportes 8

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Minuto 8:45 tambien sirve imprimirlo asi:

Printer.Title($"{obj.Key}");
Esos errores del profe!! Jajaja... Suele pasar...

¿Cómo hago para incrementar el tamaño del buffer ? o para visualizar toda la información en la Consola de Visual Studio Code, sin que se me corte?

Esta fue mi resolucion 😄

 public void LeerDiccionario(Dictionary<LlavesDiccionario,IEnumerable<ObjetoEscuelaBase>> dic, 
        bool traeEvaluaciones = true,
        bool traeAsignaturas = true,
        bool traeAlumnos = true,
        bool traeCursos = true)
        {
            foreach (var interDic in dic)
            {

                Writer.ImprimirTitulo(interDic.Key.ToString());
                foreach (var interValue in interDic.Value)
                {
                    if (!traeAlumnos && interValue is Alumno) break;
                    if (!traeCursos && interValue is Curso) break;
                    if (!traeAsignaturas && interValue is Asignatura) break;
                    if (!traeEvaluaciones && interValue is Evaluacion) break;

                    Console.WriteLine(interDic.Key.ToString()+": "+interValue);
                }
            }
        }```
        public void ImprimirDiccionario(Dictionary<LlaveDiccionario, IEnumerable<ObjetoEscuelaBase>>dic)
        {

            foreach(var obj in dic)
            {
              
                Printer.DibujarTitulo(obj.Key.ToString());

                foreach(var val in obj.Value)
                {
                    Console.WriteLine(val);
                }

            }

        }

Muy bien excelente ya veo para donde vamos …ToString()

En este caso para poder iterar un dictionary lo podremos hacer de la siguiente manera

foreach(var item in myDictionary)
{
foo(item.Key);
bar(item.Value);
}

or

foreach(var item in myDictionary.Keys)
{
foo(item);
}

or
foreach(var item in myDictionary.Values)
{
foo(item);
}

for dentro del for, marea un poco pero se entiende.