W C#, jeśli chcesz grupować wszystkie podobne wartości w jednym miejscu, LINQ w C# zapewnia metodę grupy ().
Metoda grupy LINQ jest używana do grupowania podobnych wartości w określonym atrybucie i miejscu ze wszystkimi podobnymi elementami.
Składnia metody:
źródło sygnału wejściowego.Grupa (element => element.atrybut);
Składnia zapytania:
od iteratora w grupie input_source iterator.atrybut
Gdzie input_source jest źródłem danych (lista), a iterator jest używany do iteracji elementów obecnych w Input_Source.
Przykład 1:
Utworzymy listę, która przechowuje szczegóły żywności i zgrupujemy wartości na liście opartą na różnych atrybutach.
za pomocą systemu;
za pomocą systemu.Linq;
za pomocą systemu.Kolekcje.Ogólny;
// Utwórz klasę - Linuxhint
Klasa Linuxhint
// Zdefiniuj dane dotyczące żywności
Jedzenie klasowe
public int Food_Price get; ustawić;
public String Nazwa get; ustawić;
public int Illty get; ustawić;
public String City get; ustawić;
static public void main ()
// Utwórz dane
ListFirst_List = new List ();
// Dodaj wartości
First_list.Add (new Food Food_Price = 300, name = "vegtables", ilość = 1, city = "california");
First_list.Add (new Food Food_Price = 34, name = "owoce", ilość = 4, miasto = "california");
First_list.Add (new Food Food_Price = 100, name = „grzyb”, ilość = 2, miasto = „nepal”);
First_list.Add (new Food Food_Price = 564, name = "Vegtables", ilość = 10, miasto = "guntur");
First_list.Add (new Food Food_Price = 500, name = "owoce", ilość = 8, city = "nepal");
First_list.Add (new Food Food_Price = 764, name = "pulses", ilość = 10, city = "guntur");
First_list.Add (new Food Food_Price = 400, name = "pulses", ilość = 8, miasto = "nepal");
Konsola.WriteLine ("-------------------------- Rzeczywista lista ------------------- ------- ”);
foreach (wartość var w pierwszej liście)
Konsola.Writeline (wartość.Food_price+"->"+wartość.Nazwa+"->"+wartość.Wartość ilości+"->"+.miasto);
Konsola.WriteLine ("-------------------------- Linq Groupby City ------------------ -------- ”);
// Grupowanie wartości w atrybucie miasta
var wynik = First_list.Grupa (element => element.miasto);
// wyświetl zgrupowane wyniki za pomocą pętli foreach
Foreach (var I w wyniku)
Foreach (var J in i)
Konsola.Writeline (j.Food_price+"->"+j.Nazwa+"->"+j.Ilość+"->"+j.miasto);
Konsola.WriteLine ("--------------------------- Linq Nazwa grupy ------------------ -------- ”);
// Zmień wartości w atrybucie nazwy
var result2 = First_list.Grupa (element => element.nazwa);
// wyświetl zgrupowane wyniki za pomocą pętli foreach
Foreach (var I w wyniku 2)
Foreach (var J in i)
Konsola.Writeline (j.Food_price+"->"+j.Nazwa+"->"+j.Ilość+"->"+j.miasto);
Wyjście:
Wyjaśnienie:
1. Najpierw stworzyliśmy listę, która zawierała szczegóły jedzenia.
2. Następnie grupujemy wartości w kolumnie miasta. Wreszcie używamy dla każdej pętli do wyświetlania zgrupowanych wartości.
3. Na koniec grupujemy wartości w kolumnie nazwy, a następnie używamy dla każdej pętli do wyświetlania zgrupowanych wartości.
Przykład 2:
Utworzymy listę, która przechowuje szczegóły żywności i zgrupujemy wartości na liście na podstawie różnych atrybutów za pomocą składni zapytania.
za pomocą systemu;
za pomocą systemu.Linq;
za pomocą systemu.Kolekcje.Ogólny;
// Utwórz klasę - Linuxhint
Klasa Linuxhint
// Zdefiniuj dane dotyczące żywności
Jedzenie klasowe
public int Food_Price get; ustawić;
public String Nazwa get; ustawić;
public int Illty get; ustawić;
public String City get; ustawić;
static public void main ()
// Utwórz dane
ListFirst_List = new List ();
// Dodaj wartości
First_list.Add (new Food Food_Price = 300, name = "vegtables", ilość = 1, city = "california");
First_list.Add (new Food Food_Price = 34, name = "owoce", ilość = 4, miasto = "california");
First_list.Add (new Food Food_Price = 100, name = „grzyb”, ilość = 2, miasto = „nepal”);
First_list.Add (new Food Food_Price = 564, name = "Vegtables", ilość = 10, miasto = "guntur");
First_list.Add (new Food Food_Price = 500, name = "owoce", ilość = 8, city = "nepal");
First_list.Add (new Food Food_Price = 764, name = "pulses", ilość = 10, city = "guntur");
First_list.Add (new Food Food_Price = 400, name = "pulses", ilość = 8, miasto = "nepal");
Konsola.WriteLine ("-------------------------- Rzeczywista lista ------------------- ------- ”);
foreach (wartość var w pierwszej liście)
Konsola.Writeline (wartość.Food_price+"->"+wartość.Nazwa+"->"+wartość.Wartość ilości+"->"+.miasto);
Konsola.WriteLine ("-------------------------- Linq Groupby City ------------------ -------- ”);
// Grupowanie wartości w atrybucie miasta
var wynik = z iterator1 w grupie pierwszej_list iterator1 przez iterator1.miasto;
// wyświetl zgrupowane wyniki za pomocą pętli foreach
Foreach (var I w wyniku)
Foreach (var J in i)
Konsola.Writeline (j.Food_price+"->"+j.Nazwa+"->"+j.Ilość+"->"+j.miasto);
Konsola.WriteLine ("--------------------------- Linq Nazwa grupy ------------------ -------- ”);
// Zmień wartości w atrybucie nazwy
var wynik2 = z iterator2 w grupie pierwszej_list iterator2 przez iterator2.nazwa;
// wyświetl zgrupowane wyniki za pomocą pętli foreach
Foreach (var I w wyniku 2)
Foreach (var J in i)
Konsola.Writeline (j.Food_price+"->"+j.Nazwa+"->"+j.Ilość+"->"+j.miasto);
Wyjście:
Wyjaśnienie:
1. Najpierw stworzyliśmy listę, która zawierała szczegóły jedzenia.
2. Następnie grupujemy wartości w kolumnie miasta, a następnie używamy dla każdej pętli do wyświetlania zgrupowanych wartości.
3. Na koniec grupujemy wartości w kolumnie nazwy, a następnie używamy dla każdej pętli do wyświetlania zgrupowanych wartości.
Wniosek
Metoda grupy LINQ jest używana do grupowania podobnych wartości w określonym atrybucie i umieszczenia wszystkich podobnych elementów za pomocą metody i zapytania. Grupuje wszystkie podobne wartości w jednym miejscu i możemy zwrócić zgrupowane wartości za pomocą pętli foreach.