C# LINQ Thenby Method

C# LINQ Thenby Method
W tym artykule omówimy sposób zamówienia danych na podstawie wielu atrybutów w kolejności malejącej za pomocą metody thenby () metodą () za pośrednictwem LINQ.

Język zintegrowany język zapytania (LINQ) służy do wykonywania operacji w kolekcjach C# lub normalnych strukturach danych. Służy do wykonywania zapytań podobnych do SQL jak wyrażenia.

Metoda LINQ thenby ()

Metoda thenBy () w LINQ służy do zwrócenia wszystkich elementów w kolejności rosnącej w ramach danej struktury danych na podstawie wielu atrybutów. Musimy więc użyć metody thenby () wraz z metodami OrderBy ()/OrderByDescending ().

Najpierw zastosujemy metodę OrderBy ()/OrderByDescending (), a następnie stosuje się thenby ().

Składnia:

Jeśli wartości są pojedyncze:

Thenby (element => element)

Element iteruje wartości na liście i układa je w kolejności rosnącej.

Jeśli istnieje wiele wartości:

Thenby (element => element.zmienny)

Element iteruje wartości na liście i układa je w kolejności rosnącej.

Ogólna składnia:

lista.Orderby (element => element.zmienny).Thenby (element => element.zmienny)…
lista.OrderBydescending (element => element.zmienny).Thenby (element => element.zmienny)…

Podczas gdy lista to lista wejściowa, która zawiera wartości, a zmienna odnosi się do nazwy atrybutu, w której zamówimy tylko na podstawie tej zmiennej.

Przykład 1: Orderby () z thenby ()

Stwórzmy jedzenie, które zawiera trzy atrybuty - Food_Price, Name and Illty.

Zamów wartości oparte na Food_Price z OrderBy () i Food_name z thenby ().

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ć;

static public void main ()
// Utwórz dane
List First_List = new List ();
// Dodaj wartości
First_list.Add (new Food Food_Price = 300, name = "parota", ilość = 1);
First_list.Add (new Food Food_Price = 800, name = "paneer", ilość = 4);
First_list.Add (new Food Food_Price = 100, name = „grzyb”, ilość = 2);
First_list.Add (new Food Food_Price = 100, name = "chips", ilość = 10);
First_list.Add (new Food Food_Price = 400, name = "owoce", ilość = 8);
foreach (wartość var ​​w pierwszej liście)

Konsola.Writeline (wartość.Food_price+"->"+wartość.Nazwa+"->"+wartość.ilość);

Konsola.WriteLine („-------------------------- Zamówiono dane ------------------- ------- ”);
// Zamów dane oparte na wartościach Food_Price w rosnącym i nazwa w rosnącym
var ordered_data = First_List.Orderby (element => element.Food_Price).Thenby (element => element.nazwa);
foreach (var wynik w zamówienia_data)

Konsola.Writeline (wynik.Food_price+"->"+wynik.Nazwa+"->"+wynik.ilość);


Wyjście:

Wyjaśnienie:

1. Najpierw musimy zadeklarować strukturę:

Zdefiniowaliśmy trzy atrybuty z Food_Price i ilością jako typu liczb całkowitych i nazwy jako typu ciąg.

2. Następnie utworzyliśmy listę o nazwie First_List z struktury-food.

3. Dodaj wartości do wyżej wymyślonej listy.

Dodaliśmy 5 wartości.

4. Zastosuj orderby (), aby zamów wartości na podstawie kolumny Food_Price w kolejności rosnącej i thenby), aby zamówić wartości w kolumnie nazwy w kolejności rosnącej.

5. Wyświetl wynik za pomocą pętli Foreach.

Tak więc cała lista jest uporządkowana w kolejności rosnącej na podstawie wartości w Food_Price i w kolejności rosnącej na podstawie wartości w atrybucie nazwy.

Przykład 2: OrderBydescending () z thenby ()

Stwórzmy jedzenie, które zawiera trzy atrybuty: Food_Price, Nazwa i ilość.

Zamów wartości oparte na Food_Price z OrderByDescending () i Food_name z thenby ().

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ć;

static public void main ()
// Utwórz dane
List First_List = new List ();
// Dodaj wartości
First_list.Add (new Food Food_Price = 300, name = "parota", ilość = 1);
First_list.Add (new Food Food_Price = 800, name = "paneer", ilość = 4);
First_list.Add (new Food Food_Price = 100, name = „grzyb”, ilość = 2);
First_list.Add (new Food Food_Price = 100, name = "chips", ilość = 10);
First_list.Add (new Food Food_Price = 400, name = "owoce", ilość = 8);
foreach (wartość var ​​w pierwszej liście)

Konsola.Writeline (wartość.Food_price+"->"+wartość.Nazwa+"->"+wartość.ilość);

Konsola.WriteLine („-------------------------- Zamówiono dane ------------------- ------- ”);
// Zamów dane oparte na wartościach Food_Price w zejściu i nazwie w kolejności rosnącej.
var ordered_data = First_List.OrderBydescending (element => element.Food_Price).Thenby (element => element.nazwa);
foreach (var wynik w zamówienia_data)

Konsola.Writeline (wynik.Food_price+"->"+wynik.Nazwa+"->"+wynik.ilość);


Wyjście:

Wyjaśnienie:

1. Najpierw musimy zadeklarować strukturę:

Zdefiniowaliśmy więc trzy atrybuty, z Food_Price i ilością jako typu liczb całkowitych i nazwy jako typu ciąg.

2. Następnie utworzyliśmy listę o nazwie First_List z struktury-food.

3. Dodaj wartości do powyższej listy utworzonej.

Dodaliśmy 5 wartości.

4. Zastosuj OrderBydescending (), aby zamów wartości na podstawie kolumny Food_Price w kolejności malejącej i thenby (), aby zamówić wartości w kolumnie nazwy w kolejności rosnącej.

5. Wyświetl wynik za pomocą pętli Foreach.

Tak więc cała lista jest uporządkowana w kolejności malejącej na podstawie wartości w Food_Price i w kolejności rosnącej na podstawie wartości w atrybucie nazwy.

Przykład 3: Orderby () z wieloma thenby ()

Stwórzmy jedzenie, które zawiera trzy atrybuty: Food_Price, Nazwa i ilość.

Zamów wartości oparte na Food_Price z OrderBydescending () i Food_name, ilość z thenby ().

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ć;

static public void main ()
// Utwórz dane
List First_List = new List ();
// Dodaj wartości
First_list.Add (new Food Food_Price = 300, name = "parota", ilość = 1);
First_list.Add (new Food Food_Price = 800, name = "paneer", ilość = 4);
First_list.Add (new Food Food_Price = 100, name = „grzyb”, ilość = 2);
First_list.Add (new Food Food_Price = 100, name = "chips", ilość = 10);
First_list.Add (new Food Food_Price = 400, name = "owoce", ilość = 8);
foreach (wartość var ​​w pierwszej liście)

Konsola.Writeline (wartość.Food_price+"->"+wartość.Nazwa+"->"+wartość.ilość);

Konsola.WriteLine („-------------------------- Zamówiono dane ------------------- ------- ”);
// Zamów dane oparte na wartościach Food_Price w maleniu i nazwie, ilość w kolejności rosnącej.
var ordered_data = First_List.OrderBydescending (element => element.Food_Price).
Thenby (element => element.nazwa).
Thenby (element => element.ilość);
foreach (var wynik w zamówienia_data)

Konsola.Writeline (wynik.Food_price+"->"+wynik.Nazwa+"->"+wynik.ilość);


Wyjście:

Wyjaśnienie:

1. Najpierw musimy zadeklarować strukturę:

Zdefiniowaliśmy więc trzy atrybuty z Food_Price i ilość jako typ i nazwę całkowitą jako typ ciągu.

2. Następnie utworzyliśmy listę o nazwie First_List z struktury-food.

3. Dodaj wartości do wyżej wymyślonej listy.

Dodaliśmy 5 wartości.

4. Zastosuj OrderByDescending (), aby zamów wartości na podstawie kolumny Food_Price w kolejności malejącej i metodzie thenby (), aby zamówić wartości w nazwie i kolumnach ilościowych w kolejności wstępnej.

5. Wyświetl wynik za pomocą pętli Foreach.

Tak więc cała lista jest uporządkowana w kolejności malejącej w oparciu o wartości w Food_Price i w kolejności rosnącej na podstawie wartości w celach nazwy i ilości.

Wniosek

W samouczku LINQ widzieliśmy, jak zamówić dane według wielu atrybutów za pomocą funkcji metody thenby () i orderby ()/orderByDescending (). Możliwe jest również zamówienie danych na podstawie określonej wartości, podając wiele atrybutów. Omówiliśmy trzy różne przykłady, aby lepiej zrozumieć koncepcję. Upewnij się, że importujesz za pomocą systemu, System.Linq, I System.Kolekcje.Ogólny;