October
9th,
2009
Alcune volte può capitare che abbiate bisogno di vedere quali elementi di una collezione non siano inclusi in un’altra collezione. (NOT IN)
Per esempio: Il classico libretto universitario
- ho una lista di esami da sostenere per quanto riguarda il mio corso di laurea
- ho una lista di esami che ho già sostenuto
- voglio la lista degli esami da sostenere
il risultato in codice
IList<Esame> esami = InQualcheModoRecuperoTuttiGliEsamiDelMioCorsoDiLaurea(); // :-)
IList<Esame> esamiSostenuti = InQualcheModoRecuperoTuttiGliEsamiSostenuti();
var esamiDaSostenere = from r in esami
where esamiSostenuti.All(m => m.Id != r.Id)
select r;
et voilà! :-) ho escluso dalla lista, di tutti gli esami, quelli che ho sostenuto
ps: Ovviamente nel mio caso ho previsto che gli esami fossero identificati da un id
pps: Mi scuso per l’indentazione