Qui ci sono due liste:Come confrontare due liste <object> in C# e conservare solo gli elementi che non hanno duplicati?
var list1 = new List<UserGroupMap>
{
new UserGroupMap { UserId = "1", GroupId = "1", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "1", GroupId = "2", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "1", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "2", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"}
};
var list2 = new List<UserGroupMap>
{
new UserGroupMap { UserId = "1", GroupId = "1", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "1", GroupId = "2", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "1", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "2", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "4", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
new UserGroupMap { UserId = "3", GroupId = "3", FormGroupFlag = "1", GroupDescription = "desc1", GroupName = "g1"},
};
ora quello che voglio che accada è quello di ottenere una lista che non ha i duplicati, confrontare fondamentalmente List1 e List2 restituire solo gli elementi che sono duplicati.
in base all'esempio, ciò che deve restituire sono gli ultimi due elementi dell'elenco 2 poiché non sono in elenco1.
Le risposte di seguito sono corrette, ma è importante pensare a cosa intendi esattamente * duplicando. Ad esempio prendi 'var a = new UserGroupMap {UserId =" 1 ", GroupId =" 1 ", FormGroupFlag =" 1 "}; var b = new UserGroupMap {UserId = "1", GroupId = "1", FormGroupFlag = "1"}; 'la nuova Lista (a, b) contiene duplicati? Che dire dopo la chiamata b.GroupId = "2"? – Martijn