Partilhar via


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

Enumerable.OrderBy

Queryable.OrderBy

OrderByDescending

Classifica valores em ordem decrescente.

orderby … descending

Order By … Descending

Enumerable.OrderByDescending

Queryable.OrderByDescending

ThenBy

Executa uma classificar secundária em ordem crescente.

orderby …, …

Order By …, …

Enumerable.ThenBy

Queryable.ThenBy

ThenByDescending

Executa uma classificar secundária em ordem decrescente.

orderby …, … descending

Order By …, … Descending

Enumerable.ThenByDescending

Queryable.ThenByDescending

Ordem inversa

Inverte a ordem dos elementos em uma coleção.

Não aplicável.

Não aplicável.

Enumerable.Reverse<TSource>

Queryable.Reverse<TSource>

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#)

Ordem por cláusula (Visual Basic)

System.Linq