Linq Groupby

Linq Groupby
Wenn Sie in C# alle ähnlichen Werte an einem Ort gruppieren möchten, bietet Linq in C# eine Gruppe von GroupBy ().

Die LINQ GroupBy -Methode wird verwendet, um die ähnlichen Werte in einem angegebenen Attribut zu gruppieren und mit allen ähnlichen Elementen zu platzieren.

Methodensyntax:

Eingabequelle.GroupBy (Element => Element.Attribut);

Abfragesyntax:

Von Iterator in Input_Source Group Iterator durch Iterator.Attribut

Wo, input_source ist die Datenquelle (Liste) und Iterator wird verwendet, um die in input_Source vorhandenen Elemente zu iterieren.

Beispiel 1:

Wir erstellen eine Liste, in der Lebensmitteldetails gespeichert und die Werte in der Liste basierend auf verschiedenen Attributen gruppiert werden.

mit System verwenden;
Verwenden von System.Linq;
Verwenden von System.Sammlungen.Generisch;
// Erstellen Sie eine Klasse - LinuxHint
Klasse LinuxHint

// die Daten für Lebensmittel definieren
Klassennahrung

public int food_price get; Satz;
public String Name get; Satz;
public int mantity get; Satz;
public String City get; Satz;

statische öffentliche void main ()
// Daten erstellen
ListFirst_list = new list ();
// Werte hinzufügen
First_List.Add (neues Essen food_price = 300, name = "vegtables", mantity = 1, city = "California");
First_List.Add (neues Food food_price = 34, name = "fruits", mantity = 4, City = "California");
First_List.Add (neues Food food_price = 100, name = "pilz", quantity = 2, city = "nepal");
First_List.Add (neues Essen food_price = 564, name = "vegtables", quantity = 10, City = "guntur");
First_List.Add (neues Food food_price = 500, name = "fruits", mantity = 8, City = "Nepal");
First_List.Add (neues Essen food_price = 764, name = "pulses", mantity = 10, city = "guntur");
First_List.Add (neues Food food_price = 400, name = "pulses", mantity = 8, city = "nepal");
Konsole.WriteLine ("-------------------------- Tatsächliche Liste ------------------- ------- ");
foreach (var value in First_list)

Konsole.Writeline (Wert.food_price+"->"+Wert.Name+"->"+Wert.Menge+"->"+Wert.Stadt);

Konsole.WriteLine ("-------------------------- Linq Groupby City ---------------------------------------------------------------------------------- -------- ");
// Gruppieren Sie die Werte im Stadtattribut
var result = First_list.GroupBy (Element => Element.Stadt);
// Zeigen Sie die gruppierten Ergebnisse mit der Foreach -Schleife an
foreach (var i im Ergebnis)

foreach (var j in i)

Konsole.WriteLine (j.food_price+"->"+j.Name+"->"+J.Menge+"->"+J.Stadt);


Konsole.WRITELELE ("-------------------------- Linq Groupby Name ------------------------------------------------------------------------------ -------- ");
// Gruppieren Sie die Werte im Namensattribut
var result2 = First_list.GroupBy (Element => Element.Name);
// Zeigen Sie die gruppierten Ergebnisse mit der Foreach -Schleife an
foreach (var i in Ergebnis2)

foreach (var j in i)

Konsole.WriteLine (j.food_price+"->"+j.Name+"->"+J.Menge+"->"+J.Stadt);



Ausgang:

Erläuterung:

1. Also haben wir zuerst eine Liste erstellt, die Lebensmitteldetails enthielt.

2. Danach gruppieren wir Werte in der Kolumne der Stadt. Schließlich verwenden wir für jede Schleife, um die gruppierten Werte anzuzeigen.

3. Schließlich gruppieren wir Werte in der Spalte Name, dann verwenden wir für jede Schleife, um die gruppierten Werte anzuzeigen.

Beispiel 2:

Wir erstellen eine Liste, die Lebensmitteldetails speichert und die Werte in der Liste basierend auf verschiedenen Attributen unter Verwendung der Abfrage -Syntax gruppieren.

mit System verwenden;
Verwenden von System.Linq;
Verwenden von System.Sammlungen.Generisch;
// Erstellen Sie eine Klasse - LinuxHint
Klasse LinuxHint

// die Daten für Lebensmittel definieren
Klassennahrung

public int food_price get; Satz;
public String Name get; Satz;
public int mantity get; Satz;
public String City get; Satz;

statische öffentliche void main ()
// Daten erstellen
ListFirst_list = new list ();
// Werte hinzufügen
First_List.Add (neues Essen food_price = 300, name = "vegtables", mantity = 1, city = "California");
First_List.Add (neues Food food_price = 34, name = "fruits", mantity = 4, City = "California");
First_List.Add (neues Food food_price = 100, name = "pilz", quantity = 2, city = "nepal");
First_List.Add (neues Essen food_price = 564, name = "vegtables", quantity = 10, City = "guntur");
First_List.Add (neues Food food_price = 500, name = "fruits", mantity = 8, City = "Nepal");
First_List.Add (neues Essen food_price = 764, name = "pulses", mantity = 10, city = "guntur");
First_List.Add (neues Food food_price = 400, name = "pulses", mantity = 8, city = "nepal");
Konsole.WriteLine ("-------------------------- Tatsächliche Liste ------------------- ------- ");
foreach (var value in First_list)

Konsole.Writeline (Wert.food_price+"->"+Wert.Name+"->"+Wert.Menge+"->"+Wert.Stadt);

Konsole.WriteLine ("-------------------------- Linq Groupby City ---------------------------------------------------------------------------------- -------- ");
// Gruppieren Sie die Werte im Stadtattribut
var result = from iterator1 in First_list Group Iterator1 von Iterator1.Stadt;
// Zeigen Sie die gruppierten Ergebnisse mit der Foreach -Schleife an
foreach (var i im Ergebnis)

foreach (var j in i)

Konsole.WriteLine (j.food_price+"->"+j.Name+"->"+J.Menge+"->"+J.Stadt);


Konsole.WRITELELE ("-------------------------- Linq Groupby Name ------------------------------------------------------------------------------ -------- ");
// Gruppieren Sie die Werte im Namensattribut
var result2 = von iterator2 in First_list Group Iterator2 von Iterator2.Name;
// Zeigen Sie die gruppierten Ergebnisse mit der Foreach -Schleife an
foreach (var i in Ergebnis2)

foreach (var j in i)

Konsole.WriteLine (j.food_price+"->"+j.Name+"->"+J.Menge+"->"+J.Stadt);



Ausgang:

Erläuterung:

1. Zuerst haben wir eine Liste erstellt, die Lebensmitteldetails enthielt.

2. Danach gruppieren wir Werte in der Spalte Stadt, dann verwenden wir für jede Schleife, um die gruppierten Werte anzuzeigen.

3. Schließlich gruppieren wir Werte in der Spalte Name, dann verwenden wir für jede Schleife, um die gruppierten Werte anzuzeigen.

Abschluss

Die LINQ GroupBy -Methode wird verwendet, um die ähnlichen Werte in einem angegebenen Attribut zu gruppieren und alle ähnlichen Elemente mithilfe von Methode und Abfrage zu platzieren. Es gruppiert alle ähnlichen Werte an einem Ort und wir können die gruppierten Werte mit der Foreach -Schleife zurückgeben.