我有两个通用列表,一个名为"精选",另一个名为"过滤".
List<Content> Featured = new List<Content>();
List<Content> Filtered = new List<Content>();
Run Code Online (Sandbox Code Playgroud)
两者都包含"内容"项,这些项是简单的类,如下所示:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
出现在"已过滤"但出现在"精选"中的所有项目都需要从"已过滤"中删除.此外,两个列表将合并为一个通用列表,首先显示"精选"项目.
我知道我可以写几个foreach循环来做这个但我不禁觉得必须有一个更优雅的方法使用LINQ.
我正在使用C#4.0.
我有两个从不同来源填充的列表,检查两个列表是否包含相同项目的最佳方法是什么?订单并不重要
List<Tuple<string, string, string>> list1;
List<Tuple<string, string, string>> list2;
Run Code Online (Sandbox Code Playgroud) 我会尽力在这里解释我的头痛.
我有两个包含相同类型的通用列表,因此包含相同类型的字段:
List<Car> car1 = GetCars1();
List<Car> car2 = GetCars2();
List<Car> finalListOfCars2 = new List<Car>();
Run Code Online (Sandbox Code Playgroud)
所以Car有一个名为BumperTypeID的字段
我想比较列表car1和car2,并从car2中找到那些car2,其中car2 [index] .BumperTypeID存在于car1的BumperTypeIDs列表中的所有BumperTypeID列表中.如果它在car1的BumperTypeIDs列表中找到,那很好......但是我需要在此之后再做一次检查以检查ColorIsBlack.如果第二次检查结果为真,那么确定我们很好,将当前的car2 [index]添加到finalList.
所以我不确定如何诚实地做到这一点.只是想着它让我头疼.它可能没有我想象的那么糟糕,但我无法用一种很好的方式来解决这个问题.