Sdílet prostřednictvím


Řazení dat (Visual Basic)

Operace řazení objedná prvky sekvence na základě jednoho nebo více atributů. Prvním kritériem řazení je primární řazení prvků. Zadáním druhého kritéria řazení můžete řadit prvky v rámci každé primární skupiny řazení.

Následující obrázek znázorňuje výsledky abecední operace řazení v posloupnosti znaků.

Graphic that shows an alphabetical sort operation.

Standardní metody operátoru dotazu, které seřadí data, jsou uvedeny v následující části.

Metody

Název metody Popis Syntaxe výrazů dotazu jazyka Visual Basic Další informace
OrderBy Seřadí hodnoty ve vzestupném pořadí. Order By Enumerable.OrderBy

Queryable.OrderBy
Orderbydescending Seřadí hodnoty v sestupném pořadí. Order By … Descending Enumerable.OrderByDescending

Queryable.OrderByDescending
Thenby Provede sekundární řazení ve vzestupném pořadí. Order By …, … Enumerable.ThenBy

Queryable.ThenBy
Thenbydescending Provede sekundární řazení v sestupném pořadí. Order By …, … Descending Enumerable.ThenByDescending

Queryable.ThenByDescending
Stornovat Vrátí pořadí prvků v kolekci. Nevztahuje se. Enumerable.Reverse

Queryable.Reverse

Příklady syntaxe výrazů dotazů

Příklady primárního řazení

Primární vzestupné řazení

Následující příklad ukazuje použití Order By klauzule v dotazu LINQ k seřazení řetězců v poli podle délky řetězce ve vzestupném pořadí.

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

Primární sestupné řazení

Další příklad ukazuje použití Order By Descending klauzule v dotazu LINQ k seřazení řetězců podle prvního písmena v sestupném pořadí.

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

Příklady sekundárního řazení

Sekundární vzestupné řazení

Následující příklad ukazuje použití Order By klauzule v dotazu LINQ k provedení primárního a sekundárního řazení řetězců v poli. Řetězce jsou seřazeny primárně podle délky a sekundy podle prvního písmena řetězce, a to jak ve vzestupném pořadí.

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

Sekundární sestupné řazení

Další příklad ukazuje použití Order By Descending klauzule v dotazu LINQ k provedení primárního řazení, vzestupně a sekundárního řazení v sestupném pořadí. Řetězce jsou seřazeny primárně podle délky a sekundy podle prvního písmena řetězce.

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

Viz také