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 Queryable.SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>)

 

Data di pubblicazione: ottobre 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 IQueryable<TSource> SkipWhile<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, int, bool>> predicate
)

Parametri

source
Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> per gli elementi da restituire.

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

Una funzione per testare ogni elemento di una condizione. il secondo parametro della funzione rappresenta l'indice dell'elemento di origine.

Valore restituito

Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> che contiene gli elementi da source 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 contiene almeno un parametro di tipo Expression<TDelegate> il cui argomento di tipo è uno del Func<T, TResult> tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilato in un Expression<TDelegate>.

Il SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) metodo genera un MethodCallExpression che rappresenta una chiamata SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32, Boolean>>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che venga applicata predicate a ogni elemento di source fino a quando non viene trovato un elemento per cui predicate restituisce false. Tale elemento e tutti gli elementi rimanenti vengono restituiti. L'indice di ogni elemento di origine viene fornito come secondo argomento per predicate.

Esempio di codice seguente viene illustrato come utilizzare SkipWhile<TSource>(IQueryable<TSource>, Expression<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 };

// Skip over amounts in the array until the first amount
// that is less than or equal to the product of its
// index in the array and 1000. Take the remaining items.
IEnumerable<int> query =
    amounts.AsQueryable()
    .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.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: