Ich versuche, gemeinsame Werte zwischen zwei HashSets
des gleichen Typs mit identischen Listen zu greifen, aber ich bekomme 0 Werte nach dem IntersectWith
Befehl zurückgegeben. Ich benutze die gleiche Liste als einen Fehlerbehebungs-Test, aber der Wert von returnlist
wird sich ändern, wenn Sie die Sequenz durchlaufen.HashSet <T> .IntersectWith() gibt 0 zurück
Debugging zeigt, dass comparelist.IntersectWith(returnlist);
comparelist
zu 0 Elementen ändert. Nur zur Klarstellung, returnlist
und comparelist
enthalten die gleichen Elemente in der gleichen Reihenfolge.
CfgPersonQuery firstquery = new CfgPersonQuery();
firstquery.Filter.Add("skill_dbid", skills.First());
comparelist = new HashSet<CfgPerson>(confService.RetrieveMultipleObjects<CfgPerson>(firstquery));
foreach (int y in skills.Skip(1))
{
try
{
CfgPersonQuery query = new CfgPersonQuery();
query.Filter.Add("skill_dbid", skills.First());
HashSet<CfgPerson> returnlist = new HashSet<CfgPerson>(
confService.RetrieveMultipleObjects<CfgPerson>(query));
comparelist.IntersectWith(returnlist);
}
catch
{
return null;
}
}
Zeigen Sie uns 'CfgPerson' Implementierung. – apocalypse
Sorry, ich bin mir nicht sicher, wonach genau du fragst. Wie kann ich diese Informationen für Sie erhalten? Das CfgPerson-Objekt ist Teil eines SDK, das ich verwende. – Jon