我有两个通用列表,一个称为“精选”,另一个称为“过滤”。
List<Content> Featured = new List<Content>();
List<Content> Filtered = new List<Content>();
两者都包含“内容”项目,它们是简单的类,如下所示:
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;
}
}
任何出现在“已过滤”中但也出现在“精选”中的项目都需要从“已过滤”中删除。此外,这两个列表随后将合并为一个通用列表,其中“精选”项目首先出现。
我知道我可以编写几个 foreach 循环来做到这一点,但我不禁觉得必须有一个使用 LINQ 的更优雅的方法。
我正在使用 C# 4.0。