C# Linq Thenby Method

C# Linq Thenby Method
Neste artigo, discutiremos como solicitar os dados com base em vários atributos em ordem decrescente usando o método thenby () () através do Linq.

Idioma Integrated Query Language (LINQ) é usado para executar operações nas coleções C# ou estruturas de dados normais. É usado para realizar consultas semelhantes às expressões do SQL.

Método Linq Thenby ()

O método ThenBy () em LINQ é usado para retornar todos os elementos em uma ordem ascendente dentro de uma determinada estrutura de dados com base em vários atributos. Portanto, temos que usar o método thenby () junto com os métodos Orderby ()/OrderByDescending ().

Primeiro, aplicaremos o método OrderBy ()/OrderByDescending () e Thenby () é usado.

Sintaxe:

Se os valores forem únicos:

Thenby (elemento => elemento)

O elemento itera os valores em uma lista e os organiza em ordem crescente.

Se houver vários valores:

Thenyby (elemento => elemento.variável)

O elemento itera os valores em uma lista e os organiza em ordem ascendente, e a variável é o valor pelo qual os valores são organizados em ordem ascendente com base nessa variável.

Sintaxe geral:

lista.Ordem (elemento => elemento.variável).Thenyby (elemento => elemento.variável)…
lista.OrderByDescending (Element => elemento.variável).Thenyby (elemento => elemento.variável)…

Considerando que uma lista é a lista de entrada que contém valores e uma variável refere -se a um nome de atributo no qual pediremos com base nessa variável.

Exemplo 1: orderby () com thenby ()

Vamos criar alimentos que contêm três atributos - Food_Price, Nome e Quantidade.

Encomende os valores baseados em alimentos_price com orderby () e Food_name com thenby ().

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;

estático public void main ()
// Crie dados
List primeiro_list = new List ();
// Adicione valores
primeiro_list.Add (novo alimento food_price = 300, name = "parota", quantidade = 1);
primeiro_list.Add (novo alimento Food_price = 800, name = "paneer", quantidade = 4);
primeiro_list.Add (novo alimento Food_Price = 100, Name = "Mushroom", Quantity = 2);
primeiro_list.Add (novo alimento Food_price = 100, name = "chips", quantidade = 10);
primeiro_list.Add (novo alimento Food_price = 400, name = "frutas", quantidade = 8);
foreach (valor var no primeiro_list)

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

Console.WriteLine ("-------------------------- Dados ordenados --------------------- ------- ");
// Encomendar os dados com base nos valores alimentares de alimentos em ascensão e nome em ascensão
var ordered_data = primeiro_list.Ordem (elemento => elemento.Food_price).Thenyby (elemento => elemento.nome);
foreach (Var Resultado em Orderd_data)

Console.WriteLine (resultado.Food_price+"->"+resultado.nome+"->"+resultado.quantidade);


Saída:

Explicação:

1. Primeiro, temos que declarar a estrutura:

Definimos três atributos com Food_price e Quantity como um tipo inteiro e nome como um tipo de string.

2. Em seguida, criamos uma lista chamada First_list da estrutura.

3. Adicione os valores à lista criada acima.

Nós adicionamos 5 valores.

4. Aplique orderby () para ordenar os valores com base na coluna Food_price em ordem ascendente e depois por) método para ordenar os valores na coluna de nome em ordem crescente.

5. Exibir o resultado com um loop foreach.

Portanto, a lista inteira é ordenada em ordem crescente com base em valores em alimentos_price e em ordem crescente com base nos valores no atributo de nome.

Exemplo 2: OrderByDescending () com Thenby ()

Vamos criar alimentos que contêm três atributos: Food_price, Nome e Quantidade.

Encomende os valores baseados em Food_price com OrderByDescending () e Food_Name com Thenby ().

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;

estático public void main ()
// Crie dados
List primeiro_list = new List ();
// Adicione valores
primeiro_list.Add (novo alimento food_price = 300, name = "parota", quantidade = 1);
primeiro_list.Add (novo alimento Food_price = 800, name = "paneer", quantidade = 4);
primeiro_list.Add (novo alimento Food_Price = 100, Name = "Mushroom", Quantity = 2);
primeiro_list.Add (novo alimento Food_price = 100, name = "chips", quantidade = 10);
primeiro_list.Add (novo alimento Food_price = 400, name = "frutas", quantidade = 8);
foreach (valor var no primeiro_list)

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

Console.WriteLine ("-------------------------- Dados ordenados --------------------- ------- ");
// Encomende os dados com base nos valores alimentares_price em descendente e nome em ordem crescente.
var ordered_data = primeiro_list.OrderByDescending (Element => elemento.Food_price).Thenyby (elemento => elemento.nome);
foreach (Var Resultado em Orderd_data)

Console.WriteLine (resultado.Food_price+"->"+resultado.nome+"->"+resultado.quantidade);


Saída:

Explicação:

1. Primeiro, temos que declarar a estrutura:

Então, definimos três atributos, com Food_Price e Quantity como um tipo inteiro e nome como um tipo de string.

2. Em seguida, criamos uma lista chamada First_list da estrutura.

3. Adicione os valores à lista criada acima.

Nós adicionamos 5 valores.

4. Aplique o OrderByDescending () para ordenar os valores com base na coluna Food_price em Ordem Descendente e Thenby () Método para ordenar os valores na coluna Nome em ordem crescente.

5. Exibir o resultado com um loop foreach.

Portanto, a lista inteira é ordenada em ordem descendente com base em valores em alimentos_price e em ordem crescente com base nos valores no atributo de nome.

Exemplo 3: orderby () com múltiplo thenby ()

Vamos criar alimentos que contêm três atributos: Food_price, Nome e Quantidade.

Encomende os valores baseados em Food_price com OrderByDescending () e Food_Name, Quantidade com Thenby ().

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;

estático public void main ()
// Crie dados
List primeiro_list = new List ();
// Adicione valores
primeiro_list.Add (novo alimento food_price = 300, name = "parota", quantidade = 1);
primeiro_list.Add (novo alimento Food_price = 800, name = "paneer", quantidade = 4);
primeiro_list.Add (novo alimento Food_Price = 100, Name = "Mushroom", Quantity = 2);
primeiro_list.Add (novo alimento Food_price = 100, name = "chips", quantidade = 10);
primeiro_list.Add (novo alimento Food_price = 400, name = "frutas", quantidade = 8);
foreach (valor var no primeiro_list)

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

Console.WriteLine ("-------------------------- Dados ordenados --------------------- ------- ");
// Encomende os dados com base nos valores alimentares_price em descendência e nome, quantidade em ordem crescente.
var ordered_data = primeiro_list.OrderByDescending (Element => elemento.Food_price).
Thenyby (elemento => elemento.nome).
Thenyby (elemento => elemento.quantidade);
foreach (Var Resultado em Orderd_data)

Console.WriteLine (resultado.Food_price+"->"+resultado.nome+"->"+resultado.quantidade);


Saída:

Explicação:

1. Primeiro, temos que declarar a estrutura:

Então, definimos três atributos com Food_price e Quantity como um tipo inteiro e nome como um tipo de string.

2. Em seguida, criamos uma lista chamada First_list da estrutura.

3. Adicione os valores à lista criada acima.

Nós adicionamos 5 valores.

4. Aplique OrderByDescending () para ordenar os valores com base na coluna Food_price em ordem descendente e no método thenby () para ordenar os valores no nome e colunas de quantidade em ordem crescente.

5. Exibir o resultado com um loop foreach.

Portanto, toda a lista é ordenada em ordem decrescente com base em valores em alimentos_price e em ordem crescente com base em valores em atributos de nome e quantidade.

Conclusão

No tutorial do LINQ, vimos como encomendar os dados por vários atributos com o método thenby () e orderby ()/orderbyDescending () funções. Também é possível solicitar os dados com base em um valor específico, fornecendo vários atributos. Discutimos três exemplos diferentes para entender melhor o conceito. Certifique -se de importar o usando o sistema, Sistema.Linq, e Sistema.Coleções.Genérico;