Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ů.
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 |
|---|---|---|---|
| SeřaditPodle | Seřadí hodnoty ve vzestupném pořadí. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
| SeřaditSestupně | Seřadí hodnoty v sestupném pořadí. | Order By … Descending |
Enumerable.OrderByDescending Queryable.OrderByDescending |
| PakBy | Provede sekundární řazení ve vzestupném pořadí. | Order By …, … |
Enumerable.ThenBy Queryable.ThenBy |
| PotomVSeřazeníSestupném | Provede sekundární řazení v sestupném pořadí. | Order By …, … Descending |
Enumerable.ThenByDescending Queryable.ThenByDescending |
| Zpětný | Vrátí pořadí prvků v kolekci. | Nelze použít. | 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 sekundárně podle prvního písmena řetězce, vždy 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 druhotně podle prvního písmena.
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