Classificando Dados
Uma operação de classificação ordena os elementos de uma sequência com base em um ou mais atributos.O primeiro critério de classificar executa uma classificar primária nos elementos.Especificando um segundo critério de classificação, você pode classificar os elementos dentro de cada agrupar de classificação primária.
A ilustração a seguir mostra os resultados de uma operação de classificar alfabético em uma sequência de caracteres.
Os métodos de operador de consulta padrão que classificar os dados são listados na seção seguinte.
Métodos
Nome do método |
Descrição |
Sintaxe de expressão de consulta translation from VPE for Csharp |
Visual Basic Sintaxe de expressão de consulta |
Mais informações |
---|---|---|---|---|
ClassificadoPor |
Classifica valores em ordem crescente. |
orderby |
Order By |
|
OrderByDescending |
Classifica valores em ordem decrescente. |
orderby … descending |
Order By … Descending |
|
ThenBy |
Executa uma classificar secundária em ordem crescente. |
orderby …, … |
Order By …, … |
|
ThenByDescending |
Executa uma classificar secundária em ordem decrescente. |
orderby …, … descending |
Order By …, … Descending |
|
Ordem inversa |
Inverte a ordem dos elementos em uma coleção. |
Não aplicável. |
Não aplicável. |
Exemplos de sintaxe de expressão consulta
Exemplos de classificar primária
classificar crescente principal
O exemplo a seguir demonstra como usar o orderby (Order By no Visual Basic) cláusula em uma consulta LINQ para classificar as seqüências de caracteres em uma matriz de seqüência de caracteres de comprimento, em ordem crescente.
Dim words() As String = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words _
Order By word.Length _
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' the
' fox
' quick
' brown
' jumps
string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words
orderby word.Length
select word;
foreach (string str in query)
Console.WriteLine(str);
/* This code produces the following output:
the
fox
quick
brown
jumps
*/
classificar decrescente principal
The next example demonstrates how to use the orderbydescending (Order By Descending in Visual Basic) clause in a LINQ query to sort the strings by their first letter, in descending order.
Dim words() As String = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words _
Order By word.Substring(0, 1) Descending _
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' the
' quick
' jumps
' fox
' brown
string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words
orderby word.Substring(0, 1) descending
select word;
foreach (string str in query)
Console.WriteLine(str);
/* This code produces the following output:
the
quick
jumps
fox
brown
*/
Exemplos de classificar secundária
classificar crescente secundária
O exemplo a seguir demonstra como usar o orderby (Order By no Visual Basic) cláusula em uma consulta LINQ para efetuar uma classificar primária e secundária das seqüências de caracteres em uma matriz. As seqüências de caracteres são classificadas principalmente por comprimento e depois a primeira letra da seqüência de caracteres, em ordem crescente.
Dim words() As String = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words _
Order By word.Length, word.Substring(0, 1) _
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' fox
' the
' brown
' jumps
' quick
string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words
orderby word.Length, word.Substring(0, 1)
select word;
foreach (string str in query)
Console.WriteLine(str);
/* This code produces the following output:
fox
the
brown
jumps
quick
*/
classificar decrescente secundária
The next example demonstrates how to use the orderbydescending (Order By Descending in Visual Basic) clause in a LINQ query to perform a primary sort, in ascending order, and a secondary sort, in descending order.As seqüências de caracteres são classificadas principalmente por comprimento e depois a primeira letra da seqüência de caracteres.
Dim words() As String = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words _
Order By word.Length, word.Substring(0, 1) Descending _
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' fox
' the
' quick
' jumps
' brown
string[] words = { "the", "quick", "brown", "fox", "jumps" };
IEnumerable<string> query = from word in words
orderby word.Length, word.Substring(0, 1) descending
select word;
foreach (string str in query)
Console.WriteLine(str);
/* This code produces the following output:
the
fox
quick
jumps
brown
*/
Mais informações sobre como classificar dados
Consulte também
Conceitos
Visão geral de operadores de consulta padrão
Referência
cláusula orderby (Referência C#)