Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 classificação executa uma classificação primária nos elementos. Ao especificar um segundo critério de classificação, você pode classificar os elementos em cada grupo de classificação primária.
A ilustração a seguir mostra os resultados de uma operação de classificação alfabética em uma sequência de caracteres.
Os métodos de operador de consulta padrão que classificam os dados são listados na seção a seguir.
Métodos
| Nome do método | Descrição | Sintaxe da expressão de consulta do Visual Basic | Mais informações |
|---|---|---|---|
| OrderBy | Classifica valores em ordem crescente. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
| OrdenarPorDecrescente | Classifica valores em ordem decrescente. | Order By … Descending |
Enumerable.OrderByDescending Queryable.OrderByDescending |
| ThenBy | Executa uma classificação secundária em ordem crescente. | Order By …, … |
Enumerable.ThenBy Queryable.ThenBy |
| ThenByDescending | Executa uma classificação secundária em ordem decrescente. | Order By …, … Descending |
Enumerable.ThenByDescending Queryable.ThenByDescending |
| Reverter | Inverte a ordem dos elementos em uma coleção. | Não aplicável. | Enumerable.Reverse Queryable.Reverse |
Exemplos de sintaxe de expressão de consulta
Exemplos de classificação primária
Classificação crescente primária
O exemplo a seguir demonstra como usar a Order By cláusula em uma consulta LINQ para classificar as cadeias de caracteres em uma matriz por comprimento de cadeia de caracteres, em ordem crescente.
Dim words = {"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
Classificação decrescente primária
O exemplo a seguir demonstra como usar a Order By Descending cláusula em uma consulta LINQ para classificar as cadeias de caracteres pela primeira letra, em ordem decrescente.
Dim words = {"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
Exemplos de classificação secundária
Classificação crescente secundária
O exemplo a seguir demonstra como usar a Order By cláusula em uma consulta LINQ para executar um tipo primário e secundário das cadeias de caracteres em uma matriz. As cadeias de caracteres são classificadas principalmente por comprimento e, em segundo lugar, pela primeira letra da cadeia de caracteres, ambas em ordem crescente.
Dim words = {"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
Classificação decrescente secundária
O exemplo a seguir demonstra como usar a Order By Descending cláusula em uma consulta LINQ para executar uma classificação primária, em ordem crescente e uma classificação secundária, em ordem decrescente. As cadeias de caracteres são classificadas principalmente por comprimento e, em segundo lugar, pela primeira letra da cadeia de caracteres.
Dim words = {"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