Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método Enumerable.TakeWhile<TSource> (IEnumerable<TSource>, Func<TSource, Boolean>)

Retorna os elementos de uma sequência desde que uma condiçao específica seja true.

Namespace:  System.Linq
Assembly:  System.Core (em System.Core.dll)
public static IEnumerable<TSource> TakeWhile<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
Tipo: System.Collections.Generic.IEnumerable<TSource>
Uma sequência para retornar os elementos de.
predicate
Tipo: System.Func<TSource, Boolean>
Uma função para testar cada elemento para uma condição.

Valor de retorno

Tipo: System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> que contém os elementos da sequência de entrada que ocorrem antes que o elemento no qual o teste não passa.

Observação de uso

No Visual Basic e no C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo IEnumerable<TSource>. Quando você usar a sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte Métodos de extensão (Visual Basic) ou Métodos de extensão (Guia de Programação em C#).
ExceçãoCondição
ArgumentNullException

source ou predicate são null.

Este método é implementado usando a execução adiada. O valor de retorno imediato é um objeto que armazena todas as informações necessárias para executar a ação. A consulta representada por esse método é executado até que o objeto seja enumerado chamando o método de GetEnumerator diretamente ou usando foreach em Visual C# ou For Each em Visual Basic.

O método de TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) testar cada elemento de source usando predicate e produz o elemento se o resultado é true. A enumeração para quando a função de predicado retorna false para um elemento ou quando source não contém não mais elemento.

Os métodos de TakeWhile e de SkipWhile complementos são funcionais. Dado uma sequência coll e uma função ppura, concatenar os resultados de coll.TakeWhile(p) e de coll.SkipWhile(p) produz a mesma sequência que coll.

Na sintaxe da expressão de consulta de Visual Basic , uma cláusula de Take While converte a uma invocação de TakeWhile.

O exemplo de código demonstra como usar o TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) para retornar o início os elementos de uma sequência enquanto uma condição for verdadeira.


            string[] fruits = { "apple", "banana", "mango", "orange", 
                                  "passionfruit", "grape" };

            IEnumerable<string> query =
                fruits.TakeWhile(fruit => String.Compare("orange", fruit, true) != 0);

            foreach (string fruit in query)
            {
                Console.WriteLine(fruit);
            }

            /*
             This code produces the following output:

             apple
             banana
             mango
            */



.NET Framework

Com suporte em: 4.5, 4, 3.5

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.