Verileri Bölümleme (Visual Basic)

LINQ'de bölümleme, öğeleri yeniden düzenlemeden ve sonra bölümlerden birini döndürmeden bir giriş dizisini iki bölüme bölme işlemini ifade eder.

Aşağıdaki çizimde, bir dizi karakter üzerinde üç farklı bölümleme işleminin sonuçları gösterilmektedir. İlk işlem, dizideki ilk üç öğeyi döndürür. İkinci işlem ilk üç öğeyi atlar ve kalan öğeleri döndürür. Üçüncü işlem, dizideki ilk iki öğeyi atlar ve sonraki üç öğeyi döndürür.

Illustration that shows three LINQ partitioning operations.

Dizileri bölümleyen standart sorgu işleç yöntemleri aşağıdaki bölümde listelenmiştir.

İşleçler

İşleç Adı Açıklama Visual Basic Sorgu İfadesi Söz Dizimi Daha Fazla Bilgi
Atla Öğeleri bir dizide belirtilen konuma kadar atlar. Skip Enumerable.Skip

Queryable.Skip
Skipwhile Bir öğe koşulu karşılamayana kadar koşul işlevini temel alan öğeleri atlar. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Take Öğeleri bir dizide belirtilen konuma kadar alır. Take Enumerable.Take

Queryable.Take
Takewhile Bir öğe koşulu karşılamayana kadar koşul işlevini temel alan öğeleri alır. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Öbek Bir dizinin öğelerini belirtilen en büyük boyuttaki öbeklere böler. Enumerable.Chunk
Queryable.Chunk

Sorgu İfadesi Söz Dizimi Örnekleri

Atla

Aşağıdaki kod örneği, dizideki kalan dizeleri döndürmeden önce bir dizideki ilk dört dizeyi atlamak için Visual Basic'teki yan tümcesini kullanır Skip .


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip 4

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' keeps
' the
' doctor
' away

Skipwhile

Aşağıdaki kod örneği, dizenin Skip While ilk harfi "a" iken bir dizideki dizeleri atlamak için Visual Basic'teki yan tümcesini kullanır. Dizideki kalan dizeler döndürülür.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip While word.Substring(0, 1) = "a"

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' day
' keeps
' the
' doctor
' away

Take

Aşağıdaki kod örneği, bir dize dizisindeki ilk iki dizeyi döndürmek için Visual Basic'teki yan tümcesini kullanır Take .


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take 2

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple

Takewhile

Aşağıdaki kod örneği, dizenin Take While uzunluğu beş veya daha azken bir diziden dize döndürmek için Visual Basic'teki yan tümcesini kullanır.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take While word.Length < 6

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple
' a
' day
' keeps
' the

Ayrıca bkz.