11.24.2011

Linq: TakeWhile y OrderBy

Trabajando con Linq, me ha tocado manipular colecciones de objetos en donde se deben aplicar condiciones a grupos de objetos o procesar objetos mientras se cumpla alguna condición. Un método que sin duda me llamó la atención es el TakeWhile el cual permite procesar los elementos mientras se cumpla la condición dada, si esta condición no se cumple, se descartan todos los elementos a partir del primero que no la cumpla.

Por ejemplo, queremos procesar la lista de productos cuyo precio sea menor de 500, todo esto basado en la siguiente clase de producto.

image

La lista de productos a procesar es la siguiente:

image

Ahora para poder cumplir con la condición inicial –> procesar los productos que cuestan menos de 500 <—y considerando que el método takeWhile detiene su procesamiento cuando la condición no se cumple, debemos ordenar la lista de productos retornada por precio, luego de esto vamos a aplicar el TakeWhile. Luego procedemos a retornar la lista resultante.

image

Al ejecutar el código anterior obtenemos el siguiente resultado:

image

Etiquetas de Technorati: ,,

No hay comentarios: