Megosztás a következőn keresztül:


Adatok rendezése (Visual Basic)

A rendezési művelet egy sorozat elemeit egy vagy több attribútum alapján rendezi. Az első rendezési feltétel elsődleges rendezést végez az elemeken. Egy második rendezési feltétel megadásával rendezheti az egyes elsődleges rendezési csoportok elemeit.

Az alábbi ábra egy betűrendes rendezési művelet eredményeit mutatja be egy karaktersorozaton.

Betűrendes rendezési műveletet megjelenítő ábra.

Az adatokat rendező szabványos lekérdezésoperátor-metódusok a következő szakaszban találhatók.

Módszerek

Metódus neve Leírás Visual Basic Query Expression Szintaxis További információ
RendezésAlapján Növekvő sorrendbe rendezi az értékeket. Order By Enumerable.OrderBy

Queryable.OrderBy
CsökkenőSorrendbeRendezés Csökkenő sorrendbe rendezi az értékeket. Order By … Descending Enumerable.OrderByDescending

Queryable.OrderByDescending
ThenBy Másodlagos rendezést végez növekvő sorrendben. Order By …, … Enumerable.ThenBy

Queryable.ThenBy
MajdCsökkenőSorrendben Másodlagos rendezést végez csökkenő sorrendben. Order By …, … Descending Enumerable.ThenByDescending

Queryable.ThenByDescending
Megfordítás Megfordítja a gyűjtemény elemeinek sorrendjét. Nem alkalmazható. Enumerable.Reverse

Queryable.Reverse

Lekérdezési kifejezés szintaxisa – példák

Elsődleges rendezési példák

Elsődleges növekvő rendezés

Az alábbi példa bemutatja, hogyan használható a záradék egy Order By LINQ-lekérdezésben a tömb sztringjeinek sztringhossz szerinti rendezésére növekvő sorrendben.

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

Elsődleges csökkenő rendezés

A következő példa bemutatja, hogyan használható a záradék egy Order By Descending LINQ-lekérdezésben a sztringek első betűjük szerinti rendezésére csökkenő sorrendben.

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

Másodlagos rendezési példák

Másodlagos növekvő rendezés

Az alábbi példa bemutatja, hogyan használható a Order By feltétel egy LINQ-lekérdezésben a sztringek tömbön belüli elsődleges és másodlagos rendezésére. A sztringeket elsősorban hossz, másodsorban pedig a sztring első betűje rendezi növekvő sorrendben.

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

Másodlagos csökkenő rendezés

A következő példa bemutatja, hogyan használható a záradék egy Order By Descending LINQ-lekérdezésben az elsődleges rendezés, növekvő sorrendben és másodlagos rendezés csökkenő sorrendben történő végrehajtására. A sztringek elsősorban hossz szerint, másodsorban pedig az első betűjük alapján vannak rendezve.

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

Lásd még