En C#, si desea agrupar todos los valores similares en un lugar, Linq en C# proporciona el método GroupBy ().
El método Linq Groupby se utiliza para agrupar los valores similares en un atributo y lugar especificados con todos los elementos similares.
Sintaxis del método:
fuente de entrada.Groupby (elemento => elemento.atributo);
Sintaxis de consulta:
Desde Iterator en Input_source Group Iterator por Iterator.atributo
Donde, input_source es la fuente de datos (lista) y el iterador se usa para iterar los elementos presentes en input_source.
Ejemplo 1:
Crearemos una lista que almacene los detalles de los alimentos y agrupe los valores en la lista basados en diferentes atributos.
usando el sistema;
Uso del sistema.Linq;
Uso del sistema.Colecciones.Genérico;
// Crear una clase - Linuxhint
clase Linuxhint
// Defina los datos de alimentos
comida de clase
public int Food_price get; colocar;
nombre de cadena pública get; colocar;
Public int Cantidad get; colocar;
Public String City get; colocar;
static public void main ()
// Crear datos
ListFirst_List = new List ();
// Agregar valores
First_list.Add (nueva comida food_price = 300, name = "Vegtables", Cantidad = 1, City = "California");
First_list.Add (nueva comida food_price = 34, name = "frutas", cantidad = 4, ciudad = "California");
First_list.Agregar (nueva comida food_price = 100, name = "hongo", cantidad = 2, ciudad = "nepal");
First_list.Add (nueva comida food_price = 564, name = "Vegtables", Cantidad = 10, City = "Guntur");
First_list.Add (nueva comida food_price = 500, name = "frutas", cantidad = 8, ciudad = "nepal");
First_list.Add (nueva comida food_price = 764, name = "pulses", cantidad = 10, ciudad = "Guntur");
First_list.Add (nueva comida food_price = 400, name = "pulses", cantidad = 8, ciudad = "nepal");
Consola.WriteLine ("-------------------------- Lista real ------------------- ------- ");
foreach (valor var en first_list)
Consola.Escritura (valor.Food_price+"->"+Valor.Nombre+"->"+Valor.cantidad+"->"+valor.ciudad);
Consola.WriteLine ("-------------------------- Linq Groupby City ------------------ -------- ");
// Agrupar los valores en el atributo de la ciudad
resultado var = first_list.Groupby (elemento => elemento.ciudad);
// Muestra los resultados agrupados usando Foreach Loop
foreach (var i como resultado)
foreach (var j en i)
Consola.Escritura (j.Food_price+"->"+J.Nombre+"->"+J.cantidad+"->"+j.ciudad);
Consola.WriteLine ("-------------------------- Nombre de Linq Groupby ------------------ -------- ");
// Agrupar los valores en el atributo de nombre
VAR result2 = First_List.Groupby (elemento => elemento.nombre);
// Muestra los resultados agrupados usando Foreach Loop
foreach (var i en el resultado2)
foreach (var j en i)
Consola.Escritura (j.Food_price+"->"+J.Nombre+"->"+J.cantidad+"->"+j.ciudad);
Producción:
Explicación:
1. Así que primero, creamos una lista que tenía detalles de alimentos.
2. Después de eso, estamos agrupando valores en la columna de la ciudad. Finalmente, estamos usando para cada bucle para mostrar los valores agrupados.
3. Por último, estamos agrupando valores en la columna de nombre y luego estamos utilizando para cada bucle para mostrar los valores agrupados.
Ejemplo 2:
Crearemos una lista que almacene los detalles de los alimentos y agrupe los valores en la lista basados en diferentes atributos utilizando la sintaxis de consulta.
usando el sistema;
Uso del sistema.Linq;
Uso del sistema.Colecciones.Genérico;
// Crear una clase - Linuxhint
clase Linuxhint
// Defina los datos de alimentos
comida de clase
public int Food_price get; colocar;
nombre de cadena pública get; colocar;
Public int Cantidad get; colocar;
Public String City get; colocar;
static public void main ()
// Crear datos
ListFirst_List = new List ();
// Agregar valores
First_list.Add (nueva comida food_price = 300, name = "Vegtables", Cantidad = 1, City = "California");
First_list.Add (nueva comida food_price = 34, name = "frutas", cantidad = 4, ciudad = "California");
First_list.Agregar (nueva comida food_price = 100, name = "hongo", cantidad = 2, ciudad = "nepal");
First_list.Add (nueva comida food_price = 564, name = "Vegtables", Cantidad = 10, City = "Guntur");
First_list.Add (nueva comida food_price = 500, name = "frutas", cantidad = 8, ciudad = "nepal");
First_list.Add (nueva comida food_price = 764, name = "pulses", cantidad = 10, ciudad = "Guntur");
First_list.Add (nueva comida food_price = 400, name = "pulses", cantidad = 8, ciudad = "nepal");
Consola.WriteLine ("-------------------------- Lista real ------------------- ------- ");
foreach (valor var en first_list)
Consola.Escritura (valor.Food_price+"->"+Valor.Nombre+"->"+Valor.cantidad+"->"+valor.ciudad);
Consola.WriteLine ("-------------------------- Linq Groupby City ------------------ -------- ");
// Agrupar los valores en el atributo de la ciudad
resultado var = de iterator1 en First_List Group Iterator1 por Iterator1.ciudad;
// Muestra los resultados agrupados usando Foreach Loop
foreach (var i como resultado)
foreach (var j en i)
Consola.Escritura (j.Food_price+"->"+J.Nombre+"->"+J.cantidad+"->"+j.ciudad);
Consola.WriteLine ("-------------------------- Nombre de Linq Groupby ------------------ -------- ");
// Agrupar los valores en el atributo de nombre
VAR result2 = de ITerator2 en First_List Group Iterator2 por Iterator2.nombre;
// Muestra los resultados agrupados usando Foreach Loop
foreach (var i en el resultado2)
foreach (var j en i)
Consola.Escritura (j.Food_price+"->"+J.Nombre+"->"+J.cantidad+"->"+j.ciudad);
Producción:
Explicación:
1. Primero, creamos una lista que tenía detalles de alimentos.
2. Después de eso, estamos agrupando valores en la columna de la ciudad y luego estamos utilizando para cada bucle para mostrar los valores agrupados.
3. Por último, estamos agrupando valores en la columna de nombre y luego estamos utilizando para cada bucle para mostrar los valores agrupados.
Conclusión
El método Linq Groupby se utiliza para agrupar los valores similares en un atributo especificado y colocar todos los elementos similares usando el método y la consulta. Agrupe todos los valores similares en un lugar y podemos devolver los valores agrupados usando foreach Loop.