Creación de Tipos de Datos Personalizados en Programación Avanzada
Clase 30 de 35 • Curso de C# con .Net Core 2.1
Contenido del curso
- 2

Reutilización de Código en C y Programación Orientada a Objetos
10:30 - 3

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

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

Polimorfismo en Programación: Uso y Errores Comunes en Visual Studio
07:09 - 6

Validación y Conversión de Tipos en C# para Gestión de Objetos Escuela
12:44 - 7

Sobrescritura de Método ToString para Depuración Eficiente
08:15
- 11

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

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

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

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

Uso de Diccionarios en C# para Gestión de Datos en Aplicaciones
11:15 - 16

Creación y Manejo de Diccionarios en C# para Aplicaciones Escolares
10:48 - 17

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

Creación y Manejo de Diccionarios en C# para Gestión Escolar
13:47 - 19

Impresión de Diccionarios en Visual Studio con C#
09:37 - 20

Filtrado y Personalización de Impresión en C#
11:47 - 21

Uso del operador switch en Visual Studio para optimizar código
14:30 - 22

Optimización de Algoritmos y Eventos en C#
12:52 - 23

Diccionarios y Refactoring en Programación Básica
02:13
- 24

Consultas y Reportes en Proyectos C# Básicos
11:42 - 25

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

Generación de Reportes en Visual Studio Code
11:48 - 27

Creación de Reporte de Evaluaciones por Asignatura en Programación OO
08:32 - 28

Creación de Reportes Complejos con LinQ en Visual Studio
10:52 - 29

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

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

Generación de Reportes con LINQ en C#
02:09
¿Cómo adicionar datos al diccionario de respuesta?
Primero, necesitamos asegurarnos de que los datos se carguen correctamente en nuestro diccionario de respuesta. Se decidió cambiar el nombre del diccionario a promediosAlumnos. Este será el nombre de la lista a la que se agregarán los promedios. El diccionario de respuesta se construirá mediante la adición de esta lista, asegurándonos de usar la llave correcta, que en este caso será el nombre de la asignatura.
Para hacerlo, utilizamos el siguiente código:
Dictionary<string, List<object>> respuesta = new Dictionary<string, List<object>>();
respuesta.Add(asignaturaConEvaluacion, promediosAlumnos);
Es importante asegurarse de que el aspecto de las llaves sea un nombre representativo de las asignaturas evaluadas. Esto permite identificar correctamente los datos posteriormente.
¿Cómo crear un nuevo tipo de dato para devolverlo?
Uno de los problemas que surge al trabajar con tipos anónimos es la dificultad de manejarlos fuera de su contexto inmediato. Un enfoque práctico es definir una nueva clase para representar el tipo de dato de manera clara y precisa.
Por ejemplo, creamos una clase llamada AlumnoPromedio:
public class AlumnoPromedio
{
public float Promedio { get; set; }
public string AlumnoID { get; set; }
public string AlumnoNombre { get; set; }
}
Con esta clase ya no es necesario utilizar tipos anónimos, lo cual es ventajoso en un lenguaje fuertemente tipado como C#. Esto permite una manipulación más clara y segura de datos, evitando errores de tipo.
¿Cómo mejorar la estructura de datos para consultas?
Para mejorar la estructura de datos, se recomienda cambiar de utilizar tipos anónimos a tipos claramente definidos. En el ejemplo, se modificó el código para retornar una lista de AlumnoPromedio en lugar de una lista de objetos.
Esto no solo mejora la legibilidad y el mantenimiento del código, sino que también hace que las consultas y manipulaciones sean más seguras al saber exactamente qué datos están siendo tratados.
Además, aprenda a usar técnicas como Dictionary<TKey, TValue> y LINQ para organizar y acceder a los datos de manera eficiente.
¿Qué aprendimos durante el desarrollo de estas funcionalidades?
Durante la clase, se abordaron varias prácticas y técnicas importantes, tales como:
- Uso correcto del diccionario: Se mostró cómo agregar y acceder de manera segura a los datos dentro de un diccionario.
- Gestión de tipos anónimos frente a tipos definidos: Aunque los tipos anónimos pueden ser tentadores por su simplicidad, definir clases claras puede mejorar considerablemente la claridad y seguridad al trabajar con datos.
- Consultas con LINQ: Se reforzaron conceptos como
Distinct,From,Select,Where,GroupBy, yOrderBy, mostrando su aplicación práctica en casos de uso concretos.
Estas habilidades no solo facilitan la creación de programas robustos, sino que también preparan a los estudiantes para adoptar prácticas más avanzadas en el desarrollo de software. Siempre se invita a seguir explorando y aprendiendo en este vasto mundo de la programación.