Ho due elenchi generici, uno denominato "In primo piano" e l'altro chiamato "Filtrato".Confronta due elenchi generici e rimuovi i duplicati
List<Content> Featured = new List<Content>();
List<Content> Filtered = new List<Content>();
Entrambi contengono elementi di "contenuto", che sono semplici classi in questo modo:
public class Content
{
public long ContentID { get; set;}
public string Title { get; set; }
public string Url { get; set; }
public string Image { get; set; }
public string Teaser { get; set; }
public Content(long contentId, string title, string url, string image, string teaser)
{
ContentID = contentId;
Title = title;
Url = url;
Image = image;
}
}
Tutti gli elementi che appaiono in "filtrati", ma appaiono anche in "vetrina" devono essere rimossi dal "filtrata" . Inoltre, entrambe le liste verranno quindi riunite in un unico elenco generico con gli elementi "In primo piano" che appaiono per primi.
So che potrei scrivere un paio di cicli foreach per farlo, ma non posso fare a meno di sentire che ci deve essere un metodo più elegante con LINQ.
Sto usando C# 4.0.
Quindi, 'Featured' dovrebbe apparire nella sua interezza, e quindi' Filtrato', ma con qualsiasi elemento di 'Featured' rimosso? –
Sì sì giusto :) –
Dai un'occhiata a: http://stackoverflow.com/a/2060093/100283. Non è Linq ma è un modo semplice per confrontare i due oggetti. –