Compartilhar via


Particionamento de dados

Particionamento em LINQ refere-se a operação de divisão de uma seqüê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 seqüência de caracteres. A primeira operação retorna três primeiros elementos na seqüê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 seqüência e retorna os próximos três elementos.

Operações de particionamento LINQ

Os métodos de operador de consulta padrão que seqüências de partição são listados na seção a seguir.

Operadores

Nome do operador

Descrição

C# Expressão de consulta sintaxe

Visual BasicSintaxe de expressão de consulta

Mais informações

Skip

Ignora os elementos até uma posição especificada em uma seqüê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 satisfazem a condição.

Não aplicável.

Skip While

Enumerable.SkipWhile

Queryable.SkipWhile

Take

Pega elementos até uma posição especificada em uma seqüência.

Não aplicável.

Take

Enumerable.Take<TSource>

Queryable.Take<TSource>

TakeWhile

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

Não aplicável.

Take While

Enumerable.TakeWhile

Queryable.TakeWhile

Exemplos de sintaxe de expressão de consulta

Skip

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


        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

O seguinte exemplo de código usa a Skip While cláusula Visual Basic para 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 = {"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 seguinte exemplo de código usa a Take cláusula Visual Basic para retornar as duas primeiras seqüências de caracteres em uma matriz de seqüências de caracteres.


        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

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


        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

Consulte também

Referência

Cláusula Skip (Visual Basic)

Ignorar Cláusula While (Visual Basic)

Tomar cláusula (Visual Basic)

Cláusula Take While (Visual Basic)

System.Linq

Conceitos

Visão geral operadores de consulta padrão