Linq Groupby

Linq Groupby
Em C#, se você deseja agrupar todos os valores semelhantes em um só lugar, o LINQ em C# fornece o método groupby ().

O método Linq Groupby é usado para agrupar os valores semelhantes em um atributo especificado e colocar com todos os elementos semelhantes.

Sintaxe do método:

fonte de entrada.Grupo (elemento => elemento.atributo);

Sintaxe de consulta:

do iterador em input_source Group Iterator by Iterator.atributo

Onde, input_source é a fonte de dados (lista) e o iterador é usado para iterar os elementos presentes em input_source.

Exemplo 1:

Criaremos uma lista que armazena detalhes de alimentos e agruparemos os valores na lista com base em diferentes atributos.

usando o sistema;
usando o sistema.Linq;
usando o sistema.Coleções.Genérico;
// Crie uma classe - Linuxhint
Classe linuxhint

// Defina os dados para alimentos
comida de aula

public int Food_price get; definir;
Nome da String Public get; definir;
public int Quantity get; definir;
public string city get; definir;

estático public void main ()
// Crie dados
Listfirst_list = new List ();
// Adicione valores
primeiro_list.Add (novo alimento food_price = 300, name = "vegtables", quantidade = 1, city = "California");
primeiro_list.Add (novo alimento food_price = 34, name = "frutas", quantidade = 4, city = "California");
primeiro_list.Add (novo alimento Food_Price = 100, Name = "Mushroom", Quantity = 2, City = "Nepal");
primeiro_list.Add (novo alimento Food_price = 564, name = "vegtables", quantidade = 10, city = "guntur");
primeiro_list.Add (novo alimento food_price = 500, name = "frutas", quantidade = 8, city = "Nepal");
primeiro_list.Add (novo alimento food_price = 764, name = "pulsos", quantidade = 10, city = "guntur");
primeiro_list.Add (novo alimento Food_price = 400, name = "pulsos", quantidade = 8, city = "Nepal");
Console.WriteLine ("------------------------ Lista real --------------------- ------- ");
foreach (valor var no primeiro_list)

Console.WriteLine (valor.Food_price+"->"+valor.nome+"->"+valor.Quantidade+"->"+valor.cidade);

Console.WriteLine ("------------------------ Linq Groupby City ------------------------ -------- ");
// agrupa os valores no atributo da cidade
var resultado = primeiro_list.Grupo (elemento => elemento.cidade);
// exibe os resultados agrupados usando o loop foreach
foreach (var i no resultado)

foreach (var j em i)

Console.WriteLine (j.Food_price+"->"+j.Nome+"->"+J.Quantidade+"->"+J.cidade);


Console.WriteLine ("------------------------ Nome do Grupo Linq ------------------------ -------- ");
// agrupa os valores no atributo de nome
var result2 = First_list.Grupo (elemento => elemento.nome);
// exibe os resultados agrupados usando o loop foreach
foreach (var i no resultado2)

foreach (var j em i)

Console.WriteLine (j.Food_price+"->"+j.Nome+"->"+J.Quantidade+"->"+J.cidade);



Saída:

Explicação:

1. Então, primeiro, criamos uma lista que tinha detalhes de comida.

2. Depois disso, estamos agrupando valores na coluna da cidade. Finalmente, estamos usando para cada loop para exibir os valores agrupados.

3. Por fim, estamos agrupando valores na coluna de nome, então estamos usando para cada loop para exibir os valores agrupados.

Exemplo 2:

Criaremos uma lista que armazena detalhes de alimentos e agruparemos os valores na lista com base em diferentes atributos usando sintaxe de consulta.

usando o sistema;
usando o sistema.Linq;
usando o sistema.Coleções.Genérico;
// Crie uma classe - Linuxhint
Classe linuxhint

// Defina os dados para alimentos
comida de aula

public int Food_price get; definir;
Nome da String Public get; definir;
public int Quantity get; definir;
public string city get; definir;

estático public void main ()
// Crie dados
Listfirst_list = new List ();
// Adicione valores
primeiro_list.Add (novo alimento food_price = 300, name = "vegtables", quantidade = 1, city = "California");
primeiro_list.Add (novo alimento food_price = 34, name = "frutas", quantidade = 4, city = "California");
primeiro_list.Add (novo alimento Food_Price = 100, Name = "Mushroom", Quantity = 2, City = "Nepal");
primeiro_list.Add (novo alimento Food_price = 564, name = "vegtables", quantidade = 10, city = "guntur");
primeiro_list.Add (novo alimento food_price = 500, name = "frutas", quantidade = 8, city = "Nepal");
primeiro_list.Add (novo alimento food_price = 764, name = "pulsos", quantidade = 10, city = "guntur");
primeiro_list.Add (novo alimento Food_price = 400, name = "pulsos", quantidade = 8, city = "Nepal");
Console.WriteLine ("------------------------ Lista real --------------------- ------- ");
foreach (valor var no primeiro_list)

Console.WriteLine (valor.Food_price+"->"+valor.nome+"->"+valor.Quantidade+"->"+valor.cidade);

Console.WriteLine ("------------------------ Linq Groupby City ------------------------ -------- ");
// agrupa os valores no atributo da cidade
var resultado = do iterator1 no grupo primeiro_list iterator1 por iterator1.cidade;
// exibe os resultados agrupados usando o loop foreach
foreach (var i no resultado)

foreach (var j em i)

Console.WriteLine (j.Food_price+"->"+j.Nome+"->"+J.Quantidade+"->"+J.cidade);


Console.WriteLine ("------------------------ Nome do Grupo Linq ------------------------ -------- ");
// agrupa os valores no atributo de nome
var result2 = do iterator2 no grupo primeiro_list iterator2 por iterator2.nome;
// exibe os resultados agrupados usando o loop foreach
foreach (var i no resultado2)

foreach (var j em i)

Console.WriteLine (j.Food_price+"->"+j.Nome+"->"+J.Quantidade+"->"+J.cidade);



Saída:

Explicação:

1. Primeiro, criamos uma lista que tinha detalhes de comida.

2. Depois disso, estamos agrupando valores na coluna da cidade, então estamos usando para cada loop para exibir os valores agrupados.

3. Por fim, estamos agrupando valores na coluna de nome, então estamos usando para cada loop para exibir os valores agrupados.

Conclusão

O método Linq Groupby é usado para agrupar os valores semelhantes em um atributo especificado e colocar todos os elementos semelhantes usando o método e consulta. Grupo todos os valores semelhantes em um só lugar e podemos retornar os valores agrupados usando o loop foreach.