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.
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