Compartilhar via


Particionamento de dados

Particionamento em LINQ refere-se a operação do dividindo uma sequência de entrada em duas seções, sem reorganizar os elementos e, em seguida, retornar uma das seções.

A ilustração a seguir mostra os resultados das três diferentes particionamento operações em uma sequência de caracteres.A operação primeira retorna três primeiros elementos na sequência.A segunda operação ignora os três primeiros elementos e retorna os elementos restantes.A operação de terceira ignora os dois primeiros elementos na sequência e retorna os próximos três elementos.

Os métodos de operador de consulta padrão particionar seqüências são listados na seção seguinte.

Operadores

Nome de operador

Descrição

Sintaxe de expressão de consulta translation from VPE for Csharp

Visual Basic Sintaxe de expressão de consulta

Mais informações

Skip

Ignora elementos até uma posição especificada em uma sequência.

Não aplicável.

Skip

Enumerable.Skip<TSource>

Queryable.Skip<TSource>

SkipWhile

Ignora os elementos com base em uma função de predicado até que um elemento não satisfaz a condição.

Não aplicável.

Skip While

Enumerable.SkipWhile

Queryable.SkipWhile

Take

Coloca elementos até uma posição especificada em uma sequência.

Não aplicável.

Take

Enumerable.Take<TSource>

Queryable.Take<TSource>

TakeWhile

Leva elementos com base em uma função de predicado até que um elemento não satisfaz a condição.

Não aplicável.

Take While

Enumerable.TakeWhile

Queryable.TakeWhile

Exemplos de sintaxe de expressão consulta

Skip

O exemplo de código a seguir usa o Skip cláusula Visual Basic para ignorar por quatro primeiras seqüências de caracteres em uma matriz de seqüências de caracteres antes de retornar as seqüências de caracteres restantes na matriz.

Dim words() As String = New String() {"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

O exemplo de código a seguir usa o Skip While cláusula Visual Basicpara ignorar as seqüências de caracteres em uma matriz durante a primeira letra da seqüência de caracteres é "a". As seqüências de caracteres restantes na matriz são retornadas.

Dim words() As String = New String() {"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

O exemplo de código a seguir usa o Take cláusula Visual Basic para retornar as primeiras duas seqüências de caracteres em uma matriz de seqüências de caracteres.

Dim words() As String = New String() {"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

O exemplo de código a seguir usa o Take While cláusula Visual Basic para retornar seqüências de caracteres de uma matriz e, ao mesmo tempo, o comprimento da seqüência de caracteres é cinco ou menos.

Dim words() As String = New String() {"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

Consulte também

Conceitos

Visão geral de operadores de consulta padrão

Referência

Ignorar cláusula (Visual Basic)

Ignorar Cláusula While (Visual Basic)

Tomar cláusula (Visual Basic)

Take While a cláusula (Visual Basic)

System.Linq