Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

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

 

Publicado: octubre de 2016

Devuelve los elementos de una secuencia siempre que una condición especificada sea true.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static IEnumerable<TSource> TakeWhile<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

Secuencia para devolver los elementos.

predicate
Type: System.Func<TSource, Boolean>

Función para probar cada elemento de una condición.

Valor devuelto

Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> que contiene los elementos de la secuencia de entrada que se producen antes del elemento que no supera la prueba.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source o predicate es null.

Este método se implementa mediante la ejecución diferida. El valor devuelto inmediato es un objeto que almacena toda la información necesaria para realizar la acción. La consulta representada por este método no se ejecuta hasta que se enumera el objeto llamando a su GetEnumerator método directamente o mediante foreach en Visual C# o For Each en Visual Basic.

El TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) método prueba cada elemento de source utilizando predicate y proporciona el elemento si el resultado es true. La enumeración se detiene cuando la función de predicado devuelve false para un elemento o cuando source no contiene más elementos.

El TakeWhile y SkipWhile métodos son complementos funcionales. Dada una secuencia de coll y una función pura p, concatenar los resultados de coll.TakeWhile(p) y coll.SkipWhile(p) genera la misma secuencia que coll.

En Visual Basic sintaxis de expresiones de consulta un Take While cláusula se convierte en una invocación de TakeWhile.

En el ejemplo de código siguiente se muestra cómo utilizar TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) para devolver los elementos desde el comienzo de una secuencia como una condición es true.

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
*/

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: