Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una operación de ordenación ordena los elementos de una secuencia en función de uno o varios atributos. El primer criterio de ordenación realiza una ordenación principal en los elementos. Al especificar un segundo criterio de ordenación, puede ordenar los elementos dentro de cada grupo de ordenación principal.
En la ilustración siguiente se muestran los resultados de una operación de ordenación alfabética en una secuencia de caracteres.
Los métodos del operador de consulta estándar que ordenan los datos se muestran en la sección siguiente.
Métodos
Nombre del método | Descripción | Sintaxis de expresión de consulta de Visual Basic | Más información |
---|---|---|---|
OrderBy | Ordena los valores en orden ascendente. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
OrdenarPorDescendente | Ordena los 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 |
Invertir | Invierte el orden de los elementos de una colección. | No aplicable. | Enumerable.Reverse Queryable.Reverse |
Ejemplos de sintaxis de expresiones de consulta
Ejemplos de ordenación principal
Orden ascendente principal
En el ejemplo siguiente se muestra cómo usar la Order By
cláusula en una consulta LINQ para ordenar las cadenas de una matriz por longitud de 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
Ordenación descendente principal
En el ejemplo siguiente se muestra cómo usar la Order By Descending
cláusula en una consulta LINQ para ordenar las cadenas por su primera letra, 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 ejemplo siguiente se muestra cómo usar la Order By
cláusula en una consulta LINQ para realizar un tipo principal y secundario de las cadenas de una matriz. Las cadenas se ordenan principalmente por longitud y secundariamente por la primera letra de la cadena, ambas 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 ejemplo siguiente se muestra cómo usar la Order By Descending
cláusula 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 principalmente por longitud y secundariamente por la primera letra 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
- System.Linq
- Información General sobre los Operadores de Consulta Estándar (Visual Basic)
- Cláusula Order By
- Procedimiento para ordenar los resultados de la consulta
- Cómo: Ordenar o filtrar datos de texto por cualquier palabra o campo (LINQ) (Visual Basic)