Compartir vía


Ordenación de datos (Visual Basic)

Una operación de ordenación ordena los elementos de una secuencia según uno o varios atributos. El primer criterio de ordenación realiza una ordenación primaria de los elementos. Al especificar un segundo criterio de ordenación, se pueden ordenar los elementos dentro de cada grupo de ordenación primaria.

En la ilustración siguiente se muestran los resultados de una operación de ordenación alfabética en una secuencia de caracteres.

Graphic that shows an alphabetical sort operation.

Los métodos de operador de consulta estándar que ordenan datos de datos se enumeran en la sección siguiente.

Métodos

Nombre del método Descripción Sintaxis de expresiones de consulta de Visual Basic Más información
OrderBy Ordena valores en orden ascendente. Order By Enumerable.OrderBy

Queryable.OrderBy
OrderByDescending Ordena valores en orden descendente. Order By … Descending Enumerable.OrderByDescending

Queryable.OrderByDescending
ThenBy Realiza una ordenación secundaria en orden ascendente. Order By …, … Enumerable.ThenBy

Queryable.ThenBy
ThenByDescending Realiza una ordenación secundaria en orden descendente. Order By …, … Descending Enumerable.ThenByDescending

Queryable.ThenByDescending
Reverse Invierte el orden de los elementos de una colección. No es aplicable. Enumerable.Reverse

Queryable.Reverse

Ejemplos de sintaxis de expresiones de consulta

Ejemplos de ordenación principal

Orden ascendente principal

En el siguiente ejemplo se muestra cómo usar la cláusula Order By en una consulta LINQ para ordenar las cadenas de una matriz por la longitud de la cadena, en orden ascendente.

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

Orden descendente principal

En el siguiente ejemplo se muestra cómo usar la cláusula Order By Descending en una consulta LINQ para ordenar las cadenas por su letra inicial, en orden descendente.

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

Ejemplos de ordenación secundaria

Orden ascendente secundario

En el siguiente ejemplo se muestra cómo usar la cláusula Order By en una consulta LINQ para realizar una ordenación principal y secundaria de las cadenas de una matriz. Las cadenas se ordenan primero por su longitud y, después, por la letra inicial de la cadena, en orden ascendente.

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

Orden descendente secundario

En el siguiente ejemplo se muestra cómo usar la cláusula Order By Descending en una consulta LINQ para realizar una ordenación principal en orden ascendente y una ordenación secundaria en orden descendente. Las cadenas se ordenan primero por su longitud y, después, por la letra inicial de la cadena.

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

Consulte también