Ricerca…


introduzione

Take, Skip, TakeWhile e SkipWhile sono tutti chiamati operatori di partizionamento poiché ottengono una sezione di una sequenza di input determinata da una determinata condizione. Cerchiamo di discutere di questi operatori

Prendi il metodo

Il metodo Take Porta gli elementi fino a una posizione specificata a partire dal primo elemento di una sequenza. Firma di Take:

Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);

Esempio:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);

Produzione:

Il risultato è 1,5,8,4 e 9 per ottenere cinque elementi.

Salta Metodo

Salta gli elementi fino a una posizione specificata a partire dal primo elemento di una sequenza.

Firma di Skip:

Public static IEnumerable Skip(this IEnumerable source,int count);

Esempio

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);

Uscita: il risultato è 3,6,7,2 e 0 per ottenere l'elemento.

TakeWhile ():

Restituisce gli elementi dalla raccolta specificata fino a quando la condizione specificata è vera. Se il primo elemento non soddisfa la condizione, restituisce una raccolta vuota.

Firma di TakeWhile ():

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

Un'altra firma di carico eccessivo:

Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);

Esempio I:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);

Produzione:

Restituirà Di eleament 1,5,8 e 4

Esempio II:

int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);

Produzione:

Restituirà degli elementi 1,2,3 e 4

SkipWhile ()

Salta gli elementi in base a una condizione finché un elemento non soddisfa la condizione. Se il primo elemento non soddisfa la condizione, salta quindi 0 elementi e restituisce tutti gli elementi nella sequenza.

Firma di SkipWhile ():

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

Un'altra firma di carico eccessivo:

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

Esempio I:

int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);

Produzione:

Restituirà degli elementi 9,3,6,7,2 e 0.

Esempio II:

int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);

Produzione:

Restituirà degli elementi 1,9,3,6,7,2 e 0.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow