Altra novità interessante della versione .Net 6 e versioni successive, è quella del metodo ExceptBy, con il quale esaminando due liste, restituisce gli oggetti che non sono presenti nella seconda lista in riferimento ad una condizione.
Nell'esempio seguente, si esaminano due liste di oggetti di tipo persone, utilizzando la proprietà "Eta" come condizione.
List<Persona> persone = new List<Persona>();
Persona persona = new Persona();
persona.Cognome = "Mattei";
persona.Nome = "Emanuele";
persona.Eta = 1;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Cristaldi";
persona.Nome = "Luigi";
persona.Eta = 2;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Bianchi";
persona.Nome = "Luca";
persona.Eta = 3;
persone.Add(persona);
List<Persona> persone2 = new List<Persona>();
Persona persona2 = new Persona();
persona2.Cognome = "Mattei";
persona2.Nome = "Emanuele";
persona2.Eta = 1;
persone2.Add(persona2);
persona2 = new Persona();
persona2.Cognome = "Cristaldi";
persona2.Nome = "Luigi";
persona2.Eta = 4;
persone2.Add(persona2);
var risultato = persone.ExceptBy(persone2.Select(p=>p.Eta), p=>p.Eta); //Restituisce l'oggetto Cristaldi e Bianchi Luca
Mentre nel caso di utilizzo di liste semplice (esempio array di string) è consigliabile usare il metodo Except .