J'ai une liste d'objets dont certains ont la même identité. J'aimerais donc supprimer les éléments qui sont en double.
J'ai essayé avec quelque chose comme ça :
List<post> posts = postsFromDatabase.Distinct().ToList();
Mais ça ne marche pas !
J'ai donc écrit cette méthode afin d'éviter les doublons :
public List<Post> PostWithOutDuplicates(List<Post> posts)
{
List<Post> postWithOutInclude = new List<Post>();
var noDupes = posts.Select(x => x.Id).Distinct();
if (noDupes.Count() < posts.Count)
{
foreach (int idPost in noDupes)
{
postWithOutInclude.Add(posts.Where(x => x.Id == idPost).First());
}
return postWithOutInclude;
}
else
{
return posts;
}
}
Des idées pour améliorer les performances ?
Merci d'avance.