Utilizzare una funzione come corpo di una lambda in LINQ to Objects

Stefano Mostarda

di Stefano Mostarda, in LINQ, il 16 settembre 2009 alle 08:00

I filtri da applicare in una query LINQ non sono sempre semplici. Prendiamo l'esempio in cui bisogna eseguire un filtro su una lista in base a condizioni molto complesse. In questo caso, la cosa migliore è scrivere un metodo che accetti in input un elemento della lista, verifchi se l'elemento è valido e ritorni un boolean che lo indichi.

bool IsEnabled(Persona p) 
{ 
  bool result; 
  //codice complesso di valutazione; 
  return result; 
} 

Infine, nella lambda si invoca il metodo invece che scrivere un'espressione complessa.

var q = persone.Where(p => IsEnabled(p));

IL CONTENUTO
IN PRIMO PIANO
MEDIA
IN EVIDENZA
MISC