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