Partycjonowanie danych (Visual Basic)

Partycjonowanie w LINQ odnosi się do operacji dzielenia sekwencji danych wejściowych na dwie sekcje, bez zmieniania układu elementów, a następnie zwracania jednej z sekcji.

Poniższa ilustracja przedstawia wyniki trzech różnych operacji partycjonowania na sekwencji znaków. Pierwsza operacja zwraca pierwsze trzy elementy w sekwencji. Druga operacja pomija pierwsze trzy elementy i zwraca pozostałe elementy. Trzecia operacja pomija pierwsze dwa elementy w sekwencji i zwraca następne trzy elementy.

Illustration that shows three LINQ partitioning operations.

Standardowe metody operatorów zapytań, które sekwencje partycji są wymienione w poniższej sekcji.

Operatory

Nazwa operatora opis Składnia wyrażeń zapytań języka Visual Basic Więcej informacji
Pomiń Pomija elementy do określonej pozycji w sekwencji. Skip Enumerable.Skip

Queryable.Skip
Skipwhile Pomija elementy na podstawie funkcji predykatu, dopóki element nie spełnia warunku. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Take Przyjmuje elementy do określonej pozycji w sekwencji. Take Enumerable.Take

Queryable.Take
Takewhile Pobiera elementy na podstawie funkcji predykatu, dopóki element nie spełnia warunku. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Fragment Dzieli elementy sekwencji na fragmenty określonego maksymalnego rozmiaru. Enumerable.Chunk
Queryable.Chunk

Przykłady składni wyrażeń zapytania

Pomiń

Poniższy przykład kodu używa klauzuli Skip w Visual Basic, aby pominąć pierwsze cztery ciągi w tablicy ciągów przed zwróceniem pozostałych ciągów w tablicy.


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

Poniższy przykład kodu używa Skip While klauzuli w Visual Basic, aby pominąć ciągi w tablicy, podczas gdy pierwsza litera ciągu to "a". Pozostałe ciągi w tablicy są zwracane.


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

Poniższy przykład kodu używa klauzuli Take w Visual Basic, aby zwrócić dwa pierwsze ciągi w tablicy ciągów.


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

Poniższy przykład kodu używa klauzuli Take While w języku Visual Basic do zwracania ciągów z tablicy, podczas gdy długość ciągu wynosi pięć lub mniej.


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

Zobacz też