Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Секционирование в LINQ относится к операции разделения входной последовательности на два раздела без переупорядочения элементов, а затем возврата одного из разделов.
На следующем рисунке показаны результаты трех разных операций секционирования в последовательности символов. Первая операция возвращает первые три элемента в последовательности. Вторая операция пропускает первые три элемента и возвращает оставшиеся элементы. Третья операция пропускает первые два элемента в последовательности и возвращает следующие три элемента.
Стандартные методы оператора запроса, которые разделяют последовательности, перечислены в следующем разделе.
Операторы
| Имя оператора | Описание | Синтаксис выражения запроса Visual Basic | Дополнительная информация |
|---|---|---|---|
| Пропустить | Пропускает элементы до указанной позиции в последовательности. | Skip |
Enumerable.Skip Queryable.Skip |
| ПропуститьПока | Пропускает элементы на основе функции предиката, пока элемент не удовлетворяет условию. | Skip While |
Enumerable.SkipWhile Queryable.SkipWhile |
| Взять | Выбирает элементы до указанной позиции в последовательности. | Take |
Enumerable.Take Queryable.Take |
| TakeTime | Принимает элементы на основе функции предиката, пока элемент не удовлетворяет условию. | Take While |
Enumerable.TakeWhile Queryable.TakeWhile |
| Блочное | Разбивает элементы последовательности на блоки заданного максимального размера. | Enumerable.Chunk Queryable.Chunk |
Примеры синтаксиса выражения запроса
Пропустить
В следующем примере кода в предложении Visual Basic используется оператор 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
ПропуститьПока
В следующем примере кода в Visual Basic используется предложение Skip While, чтобы пропустить строки в массиве, у которых первая буква — "a". Остальные строки из массива возвращаются.
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
Взять
В следующем примере кода в Visual Basic используется конструкция 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
TakeTime
В следующем примере кода оператор Take While в Visual Basic используется для возврата строк из массива, длина которых пять или меньше.
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