Vi è mai capitato di fare una ricerca (selezione) all'interno di una lista ? Credo spesso. Se ad esempio è necessario estrarre tutte le persone con un'età compresa fra due valori, basta ciclare (for oppure foreach) nella lista e crearne una nuova con persone che soddisfano i requisiti.
Nel nuovo framework sarà possibile definire un predicato con un metodo anonimo (questo ultimo aspetto non è obbligatorio):
public List<Person> FindByAgeRange(int startAge, int endAge)
{
return this.FindAll(delegate(Person person) { return (person.Age > startAge && person.Age < endAge); });
}