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?

o inicia sesi贸n.

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.