Optimizando el código
Introducción
Todo lo que aprenderás sobre C#
Etapa 5 – POO reutilicemos nuestro código
Reutilizando nuestro Código
Herencia
Polimorfismo
Problemas del polimorfismo
Lista de Objetos polimórfica
Utilizando ToString para mejorar la depuración
Etapa 6- Ajustes y funcionalidad
Implementación de interfaces
Uso de interfaces
Creación y uso de regiones
Etapa 7 – Preparando información para nuestros reportes
Parámetros de salida
Probando funcionalidades de parámetros de salida
Sobrecargas de métodos
Listas de solo Lectura
Diccionario Polimórfico
Implementación de un diccionario
Uso de numeraciones en diccionario
Introduciendo datos en un diccionario
Recorrido de datos en diccionario
Impresión de objetos de un diccionario
Uso de la sentencia switch
Eventos
Recapitulemos
Etapa 8 – Consultas
Creación del reporteador
Extrayendo datos de un diccionario de manera segura
Aprendiendo linq
Sentencia where de linq
Divide y triunfarás
Agrupamientos en linq
Tipos anónimos en consultas linq
Segundo Reto
Etapa 9 – Creando una UI de Consola
Excepciones y cascadeo de excepciones
Sentencia finally
Reto final
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan Carlos Ruiz
Aportes 17
Preguntas 0
Optimizando el código
Necesitamos un curso de Linq
Muy útil Linq :3
En la versión 7 de C# se implementó algo que se llama Discards. Son usados para casos en los que no se desea guardar el resultado de una expresión, por ejemplo el parámetro out en la sobrecarga del método que hizo el teacher. Su finalidad es reducir las asignaciones innecesarias de memoria y mejorar la legibilidad del código. Les dejo el link.
https://docs.microsoft.com/en-US/dotnet/csharp/fundamentals/functional/discards
esta genial este curso, quisiera saber si vamos a desplegar en azure net core ?
Si se animan, pueden bajar una libreria con NuGet llamada MoreLinq que agrega muchas sentencias y metodos para Linq.
Por ejemplo, yo hice esto:
var uniqueMaterias = materias.DistinctBy(x => x.Nombre);
Esta es mi versión optimizada del diccionario de evaluaciones por nombre de asignatura:
public Dictionary<string, IEnumerable<Evaluacion>> GetDicEvaluacionXAsignatura()
{
var listaEval = GetListEvaluaciones();
return listaEval?.GroupBy(e => e.Asignatura.Nombre)
.ToDictionary(g => g.Key, g => g.AsEnumerable<Evaluacion>());
}
😎
Interesante
Un poco mas # con C# lol
Este es alguno de los ejemplo
<IList<Student> studentList = new List<Student>() {
new Student() { StudentID = 1, StudentName = "John", Age = 18, StandardID = 1 } ,
new Student() { StudentID = 2, StudentName = "Steve", Age = 21, StandardID = 1 } ,
new Student() { StudentID = 3, StudentName = "Bill", Age = 18, StandardID = 2 } ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 20, StandardID = 2 } ,
new Student() { StudentID = 5, StudentName = "Ron" , Age = 21 }
};
IList<Standard> standardList = new List<Standard>() {
new Standard(){ StandardID = 1, StandardName="Standard 1"},
new Standard(){ StandardID = 2, StandardName="Standard 2"},
new Standard(){ StandardID = 3, StandardName="Standard 3"}
};>
Ejemplo uno
<
var studentNames = studentList.Where(s => s.Age > 18)
.Select(s => s)
.Where(st => st.StandardID > 0)
.Select(s => s.StudentName);
>
Ejemplo dos
<var teenStudentsName = from s in studentList
where s.age > 12 && s.age < 20
select new { StudentName = s.StudentName };
teenStudentsName.ToList().ForEach(s => Console.WriteLine(s.StudentName));>
Ejemplo tres
<var studentsGroupByStandard = from s in studentList
group s by s.StandardID into sg
orderby sg.Key
select new { sg.Key, sg };
foreach (var group in studentsGroupByStandard)
{
Console.WriteLine("StandardID {0}:", group.Key);
group.sg.ToList().ForEach(st => Console.WriteLine(st.StudentName ));
}>
Ejemplo cinco
<var studentsGroupByStandard = from s in studentList
where s.StandardID > 0
group s by s.StandardID into sg
orderby sg.Key
select new { sg.Key, sg };>
Genial Linq, brutal para hacer comandos mas declarativos
Excelente el curso
Linq es muy practico para trabajar filtros con data en memoria.
Linq Poderoso
Muy bueno el curso, cada dÃa aprendiendo…
Excelente uso de linq, incluso si la asignatura fuese null, funciona perfectamente.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?