Aracılığıyla paylaş


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.

Üç LINQ bölümleme işlemini gösteren çizim.

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

Operatörler

İşleç Adı Açıklama Visual Basic Sorgu İfadesi Dizilimi Daha Fazla Bilgi
Atlamak Öğeleri bir dizide belirtilen konuma kadar atlar. Skip Enumerable.Skip

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

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

Queryable.Take
Bu Arada 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 İfade Sözdizimi Örnekleri

Atlamak

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

Bu Arada Atla

Aşağıdaki kod örneği, Visual Basic'teki Skip While yan tümcesini, dizenin ilk harfi "a" olduğunda bir dizideki dizeleri atlamak için 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

Almak

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

Bu Arada

Aşağıdaki kod örneği, dizeler 5 veya daha kısa olduğu sürece bir diziden dizeler döndürmek için Visual Basic'teki Take While 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 bakınız