No tienes acceso a esta clase

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

Sentencia where de linq

27/35
Recursos

Aportes 17

Preguntas 0

Ordenar por:

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

Optimizando el código

LINQ

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.