No tienes acceso a esta clase

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

Ejercicio cláusula GroupBy

23/26

Aportes 6

Preguntas 1

Ordenar por:

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

o inicia sesión.

Excelente curso

class Program {
public static void Main (string[] args) {

List<Animal> animales = new List<Animal>();
animales.Add(new Animal() { Nombre = "Hormiga", Color = "Rojo" });
animales.Add(new Animal() { Nombre = "Lobo", Color = "Gris" });
animales.Add(new Animal() { Nombre = "Elefante", Color = "Gris" });
animales.Add(new Animal() { Nombre = "Pantegra", Color = "Negro" });
animales.Add(new Animal() { Nombre = "Gato", Color = "Negro" });
animales.Add(new Animal() { Nombre = "Iguana", Color = "Verde" });
animales.Add(new Animal() { Nombre = "Sapo", Color = "Verde" });
animales.Add(new Animal() { Nombre = "Camaleon", Color = "Verde" });
animales.Add(new Animal() { Nombre = "Gallina", Color = "Blanco" });

// Escribe tu código aquí
// Retorna los datos de la colleción Animales agrupada por color 
IEnumerable<IGrouping<string,Animal>> animalesGroup = animales.GroupBy(p=> p.Color);

foreach(var grupo in animalesGroup){
    Console.WriteLine("");
    Console.WriteLine($"Grupo: {grupo.Key}");
    Console.WriteLine("{0,-60}{1,15}","Name","Color");
    foreach(var item in grupo){
        Console.WriteLine("{0,-60}{1,15}",item.Nombre,item.Color);
    }
}

}

public class Animal
{
public string Nombre {get;set;}
public string Color {get;set;}
}
}

void ImprimirAnimalPorColor(IEnumerable<IGrouping<string, Animal>> ListaDeAnimales)
{
    foreach (var grupo in ListaDeAnimales)
    {
        Console.WriteLine($"Grupo: {grupo.Key}");
        foreach(var item in grupo) {
            Console.WriteLine($"Animal: {item.Nombre} | Color: {item.Color}");
        }
    }
}

var animalesAgrupadosPorColor = animales.GroupBy(p => p.Color);

ImprimirAnimalPorColor(animalesAgrupadosPorColor);
IEnumerable<IGrouping<string,Animal>> ColorAgrupado = animales.GroupBy(p=> p.Color);
    foreach(var grupo in ColorAgrupado)
    {
        Console.WriteLine("");
        Console.WriteLine($"Color: { grupo.Key}");
        //Console.WriteLine("{0,-60}\n", "Nombre");
        foreach(var item in grupo)
        {
            Console.WriteLine("{0,-60}", item.Nombre);
        }
    }

Mi solucion

Resultado

¡Hola, Platzinauta! 🏆🙌🏽

Para realizarlo haz un fork de este ejercicio en Replit, o copia el código en tu editor favorito.

Comparte el resultado en los comentarios

undefined