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, Int32, Boolean>)

 

Data di pubblicazione: novembre 2016

Ignora gli elementi in una sequenza, purché una condizione specificata è true e quindi restituisce gli elementi rimanenti. L'indice dell'elemento viene usato nella logica della funzione predicativa.

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

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

Parametri

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

Un IEnumerable<T> per gli elementi da restituire.

predicate
Type: System.Func<TSource, Int32, Boolean>

Funzione per verificare ogni elemento di origine per una condizione; il secondo parametro della funzione rappresenta l'indice dell'elemento di origine.

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.

Questo 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.

Il SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>) 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 primo argomento di predicate rappresenta l'elemento da verificare. Il secondo argomento rappresenta l'indice in base zero dell'elemento all'interno di source.

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, Int32, Boolean>) per ignorare gli elementi di una matrice, purché una condizione che dipende dall'indice dell'elemento.

int[] amounts = { 5000, 2500, 9000, 8000, 
                    6500, 4000, 1500, 5500 };

IEnumerable<int> query =
    amounts.SkipWhile((amount, index) => amount > index * 1000);

foreach (int amount in query)
{
    Console.WriteLine(amount);
}

/*
 This code produces the following output:

 4000
 1500
 5500
*/

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: