Ejercicio cláusula GroupBy
Clase 23 de 26 • Curso de Manejo de Datos en C# con LINQ
Contenido del curso
Clase 23 de 26 • Curso de Manejo de Datos en C# con LINQ
Contenido del curso
Miguel Teheran
Hector Reyes
Michael Andres Lozano Sanchez
Hans González
Ruth Andrea Hernández Zúñiga
Miguel Angel Reyes Moreno
Carlos Andrés Minota Cordoba
Betzabhe Elizabeth Vega Aliaga
Diego Alejandro Muñoz Arcos
namontealegre
Luis Fernando Quispe Soto
David De Quesada
José Javier Salgado Contreras
Antonio Guzman
Ferran Cerón Sánchez
Santiago Montero
Miguel Teheran
Edgar Yesid Rodríguez Valbuena
Jordan Adam Barrera Rojas
Percy Chavez
Mauricio Hernandez
Jesus Maria Gonzalez Guardo
Juan Daniel Ramirez Coroy
Jorge Romero
¡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
var animalsGroup = animales.GroupBy(x => x.Color); foreach(var group in animalsGroup) { Console.WriteLine(""); Console.WriteLine($"Grupo: {group.Key}"); Console.WriteLine("{0,15} {1,15}\n", "Nombre", "Color"); foreach (var animal in group) { Console.WriteLine("| {0,15} | {1,15} |", animal.Nombre, animal.Color); } }
IEnumerable<IGrouping<string,Animal>> grupoAnimales = animales.GroupBy(p=> p.Color); foreach(var grupo in grupoAnimales){ Console.WriteLine(""); Console.WriteLine($"Grupo: {grupo.Key}"); Console.WriteLine("{0,-60}{1,15}","Nombre","Color"); foreach(var item in grupo){ Console.WriteLine("{0,-60}{1,15}",item.Nombre,item.Color); } }
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;} } }
Gracias, nunca podía imprimir los valores en consola porque este replit no es una aplicación en consola como el proyecto que vamos siguiendo.
// Escribe tu código aquí // Retorna los datos de la colleción Animales agrupada por color var resultado = animales.GroupBy(x => x.Color); foreach (var grupo in resultado) { Console.WriteLine(""); Console.WriteLine($"Color: {grupo.Key}"); foreach (var item in grupo) { Console.WriteLine(item.Nombre, item.Color); } } ``` // Escribe tu código aquí // Retorna los datos de la colleción Animales agrupada por color    var resultado = animales.GroupBy(x => x.Color);   foreach (var grupo in resultado) { Console.WriteLine(""); Console.WriteLine($"Color: {grupo.Key}"); foreach (var item in grupo) { Console.WriteLine(item.Nombre, item.Color); } }
var animalitos = animales.GroupBy(a => a.Color); foreach (var animal in animalitos) { Console.WriteLine($"\n color: {animal.Key}"); foreach (var animal1 in animal) { Console.WriteLine($"nombre: {animal1.Nombre}"); } }
He realizado el ejercisio asi:
public static IEnumerable<IGrouping<string, Animal>> filtroAnimalesAgrupados(List<Animal> animales) { return animales.OrderBy(a => a.Color).GroupBy(a => a.Color); }
y en consola devuelve:
Animales agrupados por color:
Color: Blanco
- Gallina
Color: Gris
- Lobo
- Elefante
Color: Negro
- Pantegra
- Gato
Color: Rojo
- Hormiga
Color: Verde
- Iguana
- Sapo
- Camaleon
agrupamiento por color :
using System; using System.Collections.Generic; using System.Linq; 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" }); // SOLUCIÓN AL FILTRO: Verdes que inician con vocal (A, E, I, O, U) var filtrados = animales .GroupBy(a => a.Color); // Llamada al método PrintBroupby2(filtrados); } // CORRECCIÓN: Se agrega 'static void' y se saca del Main static void PrintBroupby2(IEnumerable<IGrouping<string, Animal>> animalesGrouped) { foreach (var group in animalesGrouped) { Console.WriteLine("▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ "); Console.WriteLine($"Group : {group.Key}"); Console.WriteLine("{0,-20} {1,10} ", "Nombre", "Color"); foreach (var animal in group) { Console.WriteLine("{0,-20} {1,10} ", animal.Nombre, animal.Color); } } } // La clase Animal debe estar aquí public class Animal { public string Nombre { get; set; } public string Color { get; set; } } }
using System;
using System.Collections.Generic;
using System.Linq;
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" });
// SOLUCIÓN AL FILTRO: Verdes que inician con vocal (A, E, I, O, U)
var filtrados = animales
.GroupBy(a => a.Color);
// Llamada al método
PrintBroupby2(filtrados);
}
// CORRECCIÓN: Se agrega 'static void' y se saca del Main
static void PrintBroupby2(IEnumerable<IGrouping<string, Animal>> animalesGrouped) {
foreach (var group in animalesGrouped) {
Console.WriteLine("▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ");
Console.WriteLine($"Group : {group.Key}");
Console.WriteLine("{0,-20} {1,10} ", "Nombre", "Color");
foreach (var animal in group) {
Console.WriteLine("{0,-20} {1,10} ", animal.Nombre, animal.Color);
}
}
}
// La clase Animal debe estar aquí
public class Animal {
public string Nombre { get; set; }
public string Color { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
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>> animalesAgrupadosPorColor = animales.GroupBy(x => x.Color);
foreach(var grupo in animalesAgrupadosPorColor)
{
Console.WriteLine($"Grupo: {grupo.key}");
foreach(var item in grupo)
{
Console.WriteLine($"Animal: {item.Nombre}");
}
}
}
public class Animal
{
public string Nombre {get;set;}
public string Color {get;set;}
}
}
Code:
using System; using System.Collections.Generic; using System.Linq; 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" }); var animalsGroupedByColor = animales.GroupBy(x => x.Color); PrintGroupedValues(animalsGroupedByColor); } public static void PrintGroupedValues(IEnumerable<IGrouping<string, Animal>> animals) { foreach (var group in animals) { Console.WriteLine(""); Console.WriteLine($"Group: {group.Key}"); Console.WriteLine("{0,-60}\n", "Name"); foreach (var animal in group) { Console.WriteLine("{0,-60}", animal.Nombre); } } } public class Animal { public string Nombre { get; set; } public string Color { get; set; } } }
Output:
Group: Rojo Name Hormiga Group: Gris Name Lobo Elefante Group: Negro Name Pantegra Gato Group: Verde Name Iguana Sapo Camaleon Group: Blanco Name Gallina
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>> animalesAgrupados = animales.GroupBy(animal => animal.Color); PrintValues(animalesAgrupados); void PrintValues(IEnumerable<IGrouping<string, Animal>> animalesAgrupados) { foreach (var grupo in animalesAgrupados) { Console.WriteLine(""); Console.WriteLine($"Grupo {grupo.Key}"); Console.WriteLine("{0,-30} {1, 7}\n", "Nombre", "Color"); foreach (var animal in grupo) { Console.WriteLine("{0,-30} {1, 7}", animal.Nombre, animal.Color); } } } public class Animal { public string Nombre { get; set; } public string Color { get; set; } }
var GrupoColor = animales.GroupBy(a => a.Color); foreach (var Color in GrupoColor) { Console.WriteLine($"Color de grupo: {Color.Key}"); foreach (var animal in Color) { Console.WriteLine($" {animal.Nombre}"); } }
Y el ejercioo:( ?
Ya esta diseñados pero se esta trabajando para incluirlos
animales.GroupBy(animal => animal.Color).ToList().ForEach(groupAnimal=> {
Console.WriteLine("");
Console.WriteLine($"Color: {groupAnimal.Key}");
Console.WriteLine("{0,-20}", "Animales");
groupAnimal.ToList().ForEach(animal => Console.WriteLine("{0,-20}",animal.Nombre));
Console.WriteLine("");
});
var animalesxcolor = animales.GroupBy(p=> p.Color); foreach(var grupo in animalesxcolor) { Console.WriteLine(""); Console.WriteLine($"Grupo: { grupo.Key }"); Console.WriteLine("{0,-60}\n", "Nombre"); foreach(var item in grupo) { Console.WriteLine("{0,-60} ",item.Nombre); } }
using System;
using System.Collections.Generic;
using System.Linq;
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
var animalsGroup = animales.GroupBy(x => x.Color);
foreach(var group in animalsGroup)
{
Console.WriteLine("");
Console.WriteLine($"Grupo: {group.Key}");
Console.WriteLine("{0,15} {1,15}\n", "Nombre", "Color");
foreach (var animal in group)
{
Console.WriteLine("| {0,15} | {1,15} |", animal.Nombre, animal.Color);
}
}
}
public class Animal
{
public string Nombre {get;set;}
public string Color {get;set;}
}
}
Mi solucion
var animal = animales.GroupBy( item => item.Color); foreach( var i in animal){ Console.WriteLine($"Grupo: {i.Key}"); Console.WriteLine("{0, -60} {1,15}\n", "Animal", "Color"); foreach(var y in i){ Console.WriteLine("{0, -60} {1,15}\n", y.Nombre, y.Color); } }
// Escribe tu código aquí // Retorna los datos de la colleción Animales agrupada por color
var resultado = animales.GroupBy(x => x.Color);
foreach (var grupo in resultado) { Console.WriteLine(""); Console.WriteLine($"Color: {grupo.Key}"); foreach (var item in grupo) { Console.WriteLine(item.Nombre, item.Color); } } // Escribe tu código aquí
// Retorna los datos de la colleción Animales agrupada por color;
var resultado = animales.GroupBy(x => x.Color); foreach (var grupo in resultado) { Console.WriteLine(""); Console.WriteLine($"Color: {grupo.Key}"); foreach (var item in grupo) { Console.WriteLine(item.Nombre, item.Color); } }
var animalesAgrupadosPorColor = animales.GroupBy(a => a.Color);