Řazení dat
Operaci řazení objednávky prvky pořadí na základě jednoho nebo více atributů.První kritérium řazení provádí primární řazení prvků.Zadáním druhé kritérium řazení můžete seřadit prvky v rámci každé skupiny primární řazení.
Následující obrázek ukazuje výsledky operace podle abecedy v posloupnosti znaků.
V následující části jsou uvedeny metody operátor standardního dotazu, které data seřadit.
Metody
Název metody |
Description |
Syntaxi výrazu dotazu C# |
Visual BasicSyntaxe dotazu výraz |
Další informace |
---|---|---|---|---|
Řadit podle |
Seřadí hodnoty ve vzestupném pořadí. |
orderby |
Order By |
|
OrderByDescending |
Seřadí hodnoty v sestupném pořadí. |
orderby … descending |
Order By … Descending |
|
ThenBy |
Provádí sekundární seřadit ve vzestupném pořadí. |
orderby …, … |
Order By …, … |
|
ThenByDescending |
Provádí sekundární seřadit v sestupném pořadí. |
orderby …, … descending |
Order By …, … Descending |
|
Změnit směr |
Změní pořadí prvků v kolekci. |
Nelze použít |
Nelze použít |
Příklady syntaxe výraz dotazu
Příklady primární řazení
Primární vzestupné řazení
Následující příklad demonstruje použití orderby (Order By v jazyce Visual Basic) klauzule dotazu LINQ k řazení řetězce v poli Délka ř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
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
*/
Primární sestupné řazení
Následující příklad demonstruje použití orderbydescending (Order By Descending v jazyce Visual Basic) klauzule dotazu LINQ k jejich první písmeno v sestupném pořadí řazení řetězce.
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
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
*/
Sekundární příklady řazení
Sekundární vzestupné řazení
Následující příklad demonstruje použití orderby (Order By v jazyce Visual Basic) klauzule dotazu LINQ provádět primární a sekundární řazení řetězce v poli.Řetězce jsou seřazeny především podle délky a druhotně první písmeno řetězec, obě 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
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
*/
Sekundární sestupné řazení
Následující příklad demonstruje použití orderbydescending (Order By Descending v jazyce Visual Basic) klauzule LINQ dotazu provést primární seřadit ve vzestupném pořadí a sekundární řazení sestupně.Řetězce jsou seřazeny především podle délky a druhotně první písmeno řetězec.
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
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
*/
Viz také
Úkoly
Postupy: Řazení výsledků klauzule join (Průvodce programováním v C#)
Postupy: Řazení výsledků dotazu pomocí LINQ (Visual Basic)
Postupy: Řazení nebo filtrování textových dat podle libovolného slova či pole (LINQ)
Referenční dokumentace
orderby – klauzule (Referenční dokumentace jazyka C#)
Order By – klauzule (Visual Basic)