Ho una lista di tipo MyClassrimuovere i duplicati da elenco basati su più campi o colonne
public class MyClass
{
public string prop1 {}
public int prop2 {}
public string prop3 {}
public int prop4 {}
public string prop5 {}
public string prop6 {}
....
}
La lista avrà duplicati. Voglio trovare e rimuovere elementi da questo elenco in cui prop1, prop2 e prop3 sono duplicati. Non importa se le altre proprietà sono duplicate
Questo è quello che ho provato che non funziona.
List<MyClass> noDups = myClassList.GroupBy(d => new {d.prop1,d.prop2,d.prop3}).Where(g => g.Count() > 1).Select(g=> g.Key);
Non voglio utilizzare strumenti di terze parti per questo. Solo linq puro.
che cosa si intende per _non working_? Hai ricevuto un'eccezione o un messaggio di errore? Cosa ottieni di conseguenza? –
Ricevo un'eccezione Impossibile convertire implicitamente il tipo 'System.Collections.Generic.IEnumerable' in 'System.Collections.Generic.List '. Esiste una conversione esplicita (ti manca un cast?) –
user20358
quando inserisci una ToList alla fine di Select (g => g.Key) ... Ottengo "Impossibile convertire implicitamente il tipo 'System.Collections.Generic.List < AnonymousType # 1> 'a' System.Collections.Generic.List ' –
user20358