Mam problem z usunięciem duplikatów na mojej liście.Usuwanie duplikatów odniesień z listy C#
mam tę listę
List<SaveMongo> toReturn
z mojej klasy SaveMongo że wygląda tak
public class SaveMongo
{
public ObjectId _id { get; set; }
public DateTime date { get; set; }
public Guid ClientId { get; set; }
public List<TypeOfSave> ListType = new List<TypeOfSave>();
public List<ObjectId> ListObjSave = new List<ObjectId>();
public SaveMongo()
{ }
}
Ilekroć chcesz dodać element do mojej listy używam następujący kod
public static fctName(BsonDocument doc)
{
toReturn.Add(AddingSaveMongo(doc.GetValue("_id")));
}
public static SaveMongo AddingSaveMongo(BsonValue ObjValue)
{
foreach (SaveMongo doc in SpeCollection.FindAll())
{
foreach (var id in doc.ListObjSave)
{
if (id == ObjValue)
return (doc);
}
}
return (null);
}
Jednak czasami uzyskuję zduplikowane odwołania. Próbowałem użyć tego , aby je usunąć. Bezskutecznie.
Próbowałem też zrobić to
if (!toReturn.Contains(AddingSaveMongo(doc.GetValue("_id"))))
toReturn.Add(AddingSaveMongo(doc.GetValue("_id")));
Wciąż bez powodzenia. Ale ilekroć drukować referencje w mojej liście mam te wynikają
Co jestem brakujące tutaj tak, że mam jeszcze duplikaty odniesień w moim liście?
Ewentualnie, jeśli” ponowne użycie .netfw> 3.5, możesz użyć HashSet. Wtedy nie będziesz musiał się martwić o duplikaty. – cup
'HashSet' nadal będzie musiał wiedzieć, jak porównać te obiekty. –