linq
Linq usando Take while y Skip mientras que
Buscar..
Introducción
Take, Skip, TakeWhile y SkipWhile se denominan operadores de partición, ya que obtienen una sección de una secuencia de entrada según lo determinado por una condición determinada. Vamos a discutir estos operadores
Toma metodo
El método de toma Lleva los elementos a una posición específica a partir del primer elemento de una secuencia. Firma de Take:
Public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source,int count);
Ejemplo:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var TakeFirstFiveElement = numbers.Take(5);
Salida:
El resultado es 1,5,8,4 y 9 para obtener cinco elementos.
Omitir método
Salta elementos hasta una posición específica a partir del primer elemento en una secuencia.
Firma de Skip:
Public static IEnumerable Skip(this IEnumerable source,int count);
Ejemplo
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.Take(5);
Salida: El resultado es 3,6,7,2 y 0 para obtener el elemento.
TakeWhile ():
Devuelve elementos de la colección dada hasta que la condición especificada sea verdadera. Si el primer elemento no satisface la condición, devuelve una colección vacía.
Firma de TakeWhile ():
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
Otra firma de sobrecarga:
Public static IEnumerable <TSource> TakeWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Ejemplo I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile(n => n < 9);
Salida:
Volverá De los elementos 1,5,8 y 4.
Ejemplo II:
int[] numbers = { 1, 2, 3, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.TakeWhile((n,Index) => n < index);
Salida:
Se devolverá del elemento 1,2,3 y 4.
SkipWhile ()
Omite elementos en función de una condición hasta que un elemento no cumple la condición. Si el primer elemento en sí no satisface la condición, entonces omite 0 elementos y devuelve todos los elementos en la secuencia.
Firma de SkipWhile ():
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,bool>,predicate);
Otra firma de sobrecarga:
Public static IEnumerable <TSource> SkipWhile<TSource>(this IEnumerable <TSource> source,Func<TSource,int,bool>,predicate);
Ejemplo I:
int[] numbers = { 1, 5, 8, 4, 9, 3, 6, 7, 2, 0 };
var SkipFirstFiveElement = numbers.SkipWhile(n => n < 9);
Salida:
Volverá De elemento 9,3,6,7,2 y 0.
Ejemplo II:
int[] numbers = { 4, 5, 8, 1, 9, 3, 6, 7, 2, 0 };
var indexed = numbers.SkipWhile((n, index) => n > index);
Salida:
Se devolverá del elemento 1,9,3,6,7,2 y 0.