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

Stefano Mostarda

di , in LINQ,

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));