Partycjonowanie danych
Partycjonowanie w LINQ odnosi się do funkcjonowania podzielenie sekwencji wejściowych na dwie sekcje, bez rozmieszczanie elementów, a następnie zwracają jednej z sekcji.
Następująca ilustracja pokazuje wyniki trzech różnych podziału operacji w 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 dwa pierwsze elementy w kolejności i zwraca kolejne trzy elementy.
Metody operator standardowej kwerendy, które partycji sekwencji są wymienione w poniższej sekcji.
Podmioty gospodarcze
Nazwa operatora |
Opis |
Kwerendy języka C# składni wyrażenia |
Visual BasicSkładni wyrażenia kwerendy |
Więcej informacji |
---|---|---|---|---|
Pomiń |
Pomija elementów do określonego położenia w sekwencji. |
Nie dotyczy. |
Skip |
|
SkipWhile |
Pomija elementów na podstawie funkcji predykatu, aż element nie spełnia warunek. |
Nie dotyczy. |
Skip While |
|
Podjąć |
Trwa elementów do określonego położenia w sekwencji. |
Nie dotyczy. |
Take |
|
TakeWhile |
Trwa elementów na podstawie funkcji predykatu, aż element nie spełnia warunek. |
Nie dotyczy. |
Take While |
Przykłady składni wyrażenia kwerendy
Pomiń
Następujący kod w przykładzie wykorzystano Skip w klauzuli Visual Basic pominąć pierwsze cztery ciągi znaków w tablicy ciągów przed zwróceniem pozostałe ciągi znakó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
Następujący kod w przykładzie wykorzystano Skip While w klauzuli Visual Basic pominąć ciągi znaków w tablicy podczas pierwszej litery ciąg jest "".Pozostałe ciągi znaków 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
Podjąć
Następujący kod w przykładzie wykorzystano Take w klauzuli Visual Basic do zwracania pierwszych dwóch ciągów znaków 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
Następujący kod w przykładzie wykorzystano Take While w klauzuli Visual Basic do zwracają łańcuchy z tablicy, podczas gdy długość ciągu jest pięciu 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ż
Informacje
Skip — Klauzula (Visual Basic)
Skip While — Klauzula (Visual Basic)
Take — Klauzula (Visual Basic)
Take While — Klauzula (Visual Basic)