In C#, se si desidera raggruppare tutti i valori simili in un posto, LinQ in C# fornisce il metodo GroupBy ().
Il metodo GroupBy LINQ viene utilizzato per raggruppare i valori simili in un attributo specificato e posizionare con tutti gli elementi simili.
Sintassi del metodo:
input_source.GroupBy (elemento => elemento.attributo);
Sintassi delle query:
da iteratore nel gruppo input_source iteratore di iteratore.attributo
Dove, input_source è l'origine dati (elenco) e iteratore viene utilizzato per iterare gli elementi presenti in input_source.
Esempio 1:
Creeremo un elenco che memorizza i dettagli alimentari e raggrupperemo i valori nell'elenco in base a attributi diversi.
usando il sistema;
Utilizzo del sistema.Linq;
Utilizzo del sistema.Collezioni.Generico;
// Crea una classe - Linuxhint
Classe Linuxhint
// Definisci i dati per il cibo
cibo di classe
public int food_price get; impostato;
Nome della stringa pubblica get; impostato;
Public int Quantity get; impostato;
Public String City get; impostato;
statico public void main ()
// Crea dati
ListFirst_list = new List ();
// Aggiungi valori
First_list.Add (new Food Food_price = 300, name = "VegTables", Quantity = 1, City = "California");
First_list.Add (new Food food_price = 34, name = "frutti", quantità = 4, città = "California");
First_list.Add (new Food food_price = 100, name = "fungo", quantità = 2, città = "nepal");
First_list.Add (new Food Food_price = 564, name = "VegTables", Quantity = 10, City = "Guntur");
First_list.Add (new Food food_price = 500, name = "frutti", quantità = 8, città = "nepal");
First_list.Aggiungi (nuovo alimento food_price = 764, name = "impulsi", quantità = 10, city = "guntur");
First_list.Aggiungi (nuovo alimento food_price = 400, name = "impulsi", quantità = 8, città = "nepal");
Console.WriteLine ("-------------------------- Elenco effettivo ------------------- ------- ");
foreach (valori var in first_list)
Console.Writeline (valore.Food_price+"->"+valore.nome+"->"+valore.quantità+"->"+valore.città);
Console.WriteLine ("-------------------------- Linq Groupby City ---------------------- -------- ");
// raggruppa i valori nell'attributo della città
var result = first_list.GroupBy (elemento => elemento.città);
// Visualizza i risultati raggruppati utilizzando Foreach Loop
foreach (var i in risultato)
foreach (var j in i)
Console.Writeline (j.Food_price+"->"+J.nome+"->"+j.quantità+"->"+j.città);
Console.WriteLine ("-------------------------- Nome Groupby Linq ------------------ -------- ");
// raggruppa i valori nell'attributo nome
var result2 = first_list.GroupBy (elemento => elemento.nome);
// Visualizza i risultati raggruppati utilizzando Foreach Loop
foreach (var i in risultato2)
foreach (var j in i)
Console.Writeline (j.Food_price+"->"+J.nome+"->"+j.quantità+"->"+j.città);
Produzione:
Spiegazione:
1. Quindi prima, abbiamo creato un elenco che aveva dettagli sul cibo.
2. Dopodiché, stiamo raggruppando i valori nella colonna della città. Infine, stiamo usando per ogni ciclo per visualizzare i valori raggruppati.
3. Infine, stiamo raggruppando i valori nella colonna Nome quindi stiamo usando per ogni ciclo per visualizzare i valori raggruppati.
Esempio 2:
Creeremo un elenco che memorizza i dettagli alimentari e raggrupperemo i valori nell'elenco in base a attributi diversi usando la sintassi delle query.
usando il sistema;
Utilizzo del sistema.Linq;
Utilizzo del sistema.Collezioni.Generico;
// Crea una classe - Linuxhint
Classe Linuxhint
// Definisci i dati per il cibo
cibo di classe
public int food_price get; impostato;
Nome della stringa pubblica get; impostato;
Public int Quantity get; impostato;
Public String City get; impostato;
statico public void main ()
// Crea dati
ListFirst_list = new List ();
// Aggiungi valori
First_list.Add (new Food Food_price = 300, name = "VegTables", Quantity = 1, City = "California");
First_list.Add (new Food food_price = 34, name = "frutti", quantità = 4, città = "California");
First_list.Add (new Food food_price = 100, name = "fungo", quantità = 2, città = "nepal");
First_list.Add (new Food Food_price = 564, name = "VegTables", Quantity = 10, City = "Guntur");
First_list.Add (new Food food_price = 500, name = "frutti", quantità = 8, città = "nepal");
First_list.Aggiungi (nuovo alimento food_price = 764, name = "impulsi", quantità = 10, city = "guntur");
First_list.Aggiungi (nuovo alimento food_price = 400, name = "impulsi", quantità = 8, città = "nepal");
Console.WriteLine ("-------------------------- Elenco effettivo ------------------- ------- ");
foreach (valori var in first_list)
Console.Writeline (valore.Food_price+"->"+valore.nome+"->"+valore.quantità+"->"+valore.città);
Console.WriteLine ("-------------------------- Linq Groupby City ---------------------- -------- ");
// raggruppa i valori nell'attributo della città
VAR Result = da Iterator1 nel gruppo First_List Iterator1 di Iterator1.città;
// Visualizza i risultati raggruppati utilizzando Foreach Loop
foreach (var i in risultato)
foreach (var j in i)
Console.Writeline (j.Food_price+"->"+J.nome+"->"+j.quantità+"->"+j.città);
Console.WriteLine ("-------------------------- Nome Groupby Linq ------------------ -------- ");
// raggruppa i valori nell'attributo nome
VAR Result2 = da Iterator2 nel gruppo First_List Iterator2 di Iterator2.nome;
// Visualizza i risultati raggruppati utilizzando Foreach Loop
foreach (var i in risultato2)
foreach (var j in i)
Console.Writeline (j.Food_price+"->"+J.nome+"->"+j.quantità+"->"+j.città);
Produzione:
Spiegazione:
1. Innanzitutto, abbiamo creato un elenco che aveva dettagli alimentari.
2. Successivamente, stiamo raggruppando i valori nella colonna della città, quindi stiamo usando per ogni ciclo per visualizzare i valori raggruppati.
3. Infine, stiamo raggruppando i valori nella colonna Nome quindi stiamo usando per ogni ciclo per visualizzare i valori raggruppati.
Conclusione
Il metodo GroupBy LINQ viene utilizzato per raggruppare i valori simili in un attributo specificato e posizionare tutti gli elementi simili usando il metodo e la query. Raggruppa tutti i valori simili in un posto e possiamo restituire i valori raggruppati usando il ciclo foreach.