Aracılığıyla paylaş


Verileri Sıralama (Visual Basic)

Sıralama işlemi, bir dizinin öğelerini bir veya daha fazla öznitelik temelinde sıralar. İlk sıralama ölçütü, öğeler üzerinde birincil sıralama gerçekleştirir. İkinci bir sıralama ölçütü belirterek, her birincil sıralama grubundaki öğeleri sıralayabilirsiniz.

Aşağıdaki çizimde, bir karakter dizisinde alfabetik sıralama işleminin sonuçları gösterilmektedir.

Graphic that shows an alphabetical sort operation.

Verileri sıralayan standart sorgu işleci yöntemleri aşağıdaki bölümde listelenmiştir.

Yöntemler

Yöntem Adı Açıklama Visual Basic Sorgu İfadesi Söz Dizimi Daha Fazla Bilgi
OrderBy Değerleri artan düzende sıralar. Order By Enumerable.OrderBy

Queryable.OrderBy
Orderbydescending Değerleri azalan düzende sıralar. Order By … Descending Enumerable.OrderByDescending

Queryable.OrderByDescending
Thenby İkincil sıralamayı artan düzende gerçekleştirir. Order By …, … Enumerable.ThenBy

Queryable.ThenBy
Thenbydescending İkincil sıralamayı azalan düzende gerçekleştirir. Order By …, … Descending Enumerable.ThenByDescending

Queryable.ThenByDescending
Ters kaydet Koleksiyondaki öğelerin sırasını tersine çevirir. Uygulanamaz. Enumerable.Reverse

Queryable.Reverse

Sorgu İfadesi Söz Dizimi Örnekleri

Birincil Sıralama Örnekleri

Birincil Artan Sıralama

Aşağıdaki örnekte, bir dizideki dizeleri dize uzunluğuna göre artan düzende sıralamak için LINQ sorgusunda yan tümcesinin nasıl kullanılacağı Order By gösterilmektedir.

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

Birincil Azalan Sıralama

Sonraki örnekte, dizeleri ilk harflerine göre azalan düzende sıralamak için LINQ sorgusunda yan tümcesinin nasıl kullanılacağı Order By Descending gösterilmektedir.

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

İkincil Sıralama Örnekleri

İkincil Artan Sıralama

Aşağıdaki örnekte, bir dizideki dizelerin birincil ve ikincil bir sıralamasını gerçekleştirmek için LINQ sorgusunda yan tümcesinin nasıl kullanılacağı Order By gösterilmektedir. Dizeler birincil olarak uzunluğa ve ikincil olarak dizenin ilk harfine göre (her ikisi de artan düzende) sıralanır.

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

İkincil Azalan Sıralama

Sonraki örnekte, linq sorgusundaki yan tümcesinin Order By Descending artan düzende ve ikincil sıralamayı azalan düzende gerçekleştirmek için nasıl kullanılacağı gösterilmektedir. Dizeler öncelikle uzunluğa ve ikincil olarak dizenin ilk harfine göre sıralanır.

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

Ayrıca bkz.