Con la clase Alumno
class Alumno
{
public string Nombre { get; set; }
public int Edad { get; set; }
public double Nota { get; set; }
public Alumno(string nombre, int edad, double nota)
{
Nombre = nombre;
Edad = edad;
Nota = nota;
}
public override string ToString()
{
return Nombre+" - "+Edad+" - "+Nota;
}
}
(https://github.com/juanpablofuentes/CSharp/blob/master/LINQ/LinqBasico/LinqBasico/Alumno.cs) y los siguientes datos:
List<Alumno> listaAlumnos = new List<Alumno>()
{
new Alumno("Eva",20,6.0),
new Alumno("Ana",22,7.0),
new Alumno("Rosa",22,4.0),
new Alumno("Ot",20,3.0),
new Alumno("Iu",30,6.8),
new Alumno("Pep",32,5.9),
new Alumno("Laia",30,2.3),
new Alumno("Quim",32,1.7),
};
Crear las consultas LINQ y mostrar los datos para obtener lo siguiente:
1.- Agrupar los alumnos por edad y mostrarlos con el formato: Edad: XX, alumnos: (nombre de los alumnos)
2.- Agrupar los alumnos por aprobado/suspendido y mostrarlos con el mismo formato de antes
3.- Agrupar los alumnos por década (los de 20, los de 30…) y mostrarlos.
Tenemos la siguiente clase:
class Descuento{
public string Nombre { get; set; }
public int Decada{ get; set; }
public Descuento(string nombre, int decada) { Nombre = nombre; Decada= decada; } public override string ToString() { return Nombre+" - "+Decada; } }
List<Descuento> listaDescuentos = new List<Descuento>() {
new Descuento("Jovenes",20),
new Descuento("Profesionales",30),
new Descuento("Tercera edad",60)
};
Con estos datos haced un join entre los descuentos y los alumnos y un groupjoin para que salgan todos los descuentos.
