Ich habe eine Liste vom Typ MyClassDuplikate entfernen aus der Liste basierend auf mehreren Feldern oder Spalten
public class MyClass
{
public string prop1 {}
public int prop2 {}
public string prop3 {}
public int prop4 {}
public string prop5 {}
public string prop6 {}
....
}
Diese Liste Duplikate haben. Ich möchte Elemente aus dieser Liste finden und entfernen, wobei prop1, prop2 und prop3 Duplikate sind. Es spielt keine Rolle, ob die anderen Eigenschaften Duplikate sind
Dies ist, was ich versucht habe, die nicht funktioniert.
List<MyClass> noDups = myClassList.GroupBy(d => new {d.prop1,d.prop2,d.prop3}).Where(g => g.Count() > 1).Select(g=> g.Key);
Ich möchte keine Drittanbieter-Tools dafür verwenden. Nur reine linq.
Was meinen Sie mit _nicht arbeiten_? Sie erhalten eine Ausnahme oder Fehlermeldung? Was bekommst du als Ergebnis? –
Ich bekomme eine Ausnahme Kann den Typ 'System.Collections.Generic.IEnumerable' nicht zu 'System.Collections.Generic.List ' implizit konvertieren. Eine explizite Konvertierung existiert (fehlt Ihnen ein Cast?) –
user20358
wenn Sie eine ToListe am Ende der Select setzen (g => g.Key) ... bekomme ich "Kann den Typ 'System.Collections.Generic.List' nicht implizit konvertieren AnonymousType # 1> 'zu' System.Collections.Generic.List ' –
user20358