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.SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Publicado: octubre de 2016

Omite los elementos de una secuencia siempre que una condición especificada sea true y, a continuación, devuelve los elementos restantes.

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

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

Parámetros

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

Un IEnumerable<T> 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 comenzando en el primer elemento de la serie lineal que no pasa la prueba especificada por predicate.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source o predicate es null.

El SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) 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.

Este método prueba cada elemento de source utilizando predicate y omite el elemento si el resultado es true. Después de la función de predicado devuelve false para un elemento, ese elemento y los elementos restantes en source se produjo y no hay ninguna más invocaciones de predicate.

Si predicate devuelve true para todos los elementos de la secuencia, una cadena vacía IEnumerable<T> se devuelve.

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 Skip While cláusula se convierte en una invocación de SkipWhile.

En el ejemplo de código siguiente se muestra cómo utilizar SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) para omitir los elementos de una matriz siempre que una condición es true.

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

IEnumerable<int> lowerGrades =
    grades
    .OrderByDescending(grade => grade)
    .SkipWhile(grade => grade >= 80);

Console.WriteLine("All grades below 80:");
foreach (int grade in lowerGrades)
{
    Console.WriteLine(grade);
}

/*
 This code produces the following output:

 All grades below 80:
 70
 59
 56
*/

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: