Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Enumerable.SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Data di pubblicazione: ottobre 2016

Ignora gli elementi in una sequenza, purché una condizione specificata è true e quindi restituisce gli elementi rimanenti.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

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

Parametri

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

Un IEnumerable<T> per gli elementi da restituire.

predicate
Type: System.Func<TSource, Boolean>

Funzione per testare ogni elemento rispetto a una condizione.

Valore restituito

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

Un IEnumerable<T> che contiene gli elementi dalla sequenza di input a partire dal primo elemento nella serie lineare che non supera il test specificato dal predicate.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o predicate è null.

Il SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) metodo viene implementato tramite esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto viene enumerata chiamando il relativo GetEnumerator metodo direttamente o tramite foreach in Visual C# o For Each in Visual Basic.

Questo metodo verifica ogni elemento di source utilizzando predicate e ignora l'elemento se il risultato è true. Dopo la funzione di predicato restituisce false per un elemento, tale elemento e gli elementi rimanenti in source vengono restituiti e vi sono ulteriori chiamate di predicate.

Se predicate restituisce true per tutti gli elementi nella sequenza di un oggetto vuoto IEnumerable<T> viene restituito.

Il TakeWhile e SkipWhile metodi sono complementi funzionali. Presenza di una sequenza coll e una funzione pura p, concatenando i risultati di coll.TakeWhile(p) e coll.SkipWhile(p) produce la stessa sequenza di coll.

In Visual Basic sintassi dell'espressione di query un Skip While clausola viene convertita in una chiamata di SkipWhile.

Esempio di codice seguente viene illustrato come utilizzare SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) per ignorare gli elementi di una matrice, purché una condizione è 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
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: