【发布时间】:2016-07-14 17:05:28
【问题描述】:
我有一个清单
public class CarRent
{
public string Brand { get; set; }
public string Status { get; set; }
public DateTime Date { get; set; }
}
var mylist = new List<CarRent>() {
new CarRent() { Brand = "Toyota",Date=DateTime.Parse( "1/10/14"),Status="Active" },//1
new CarRent() { Brand = "Honda",Date=DateTime.Parse( "5/3/14"),Status="Active" },//2
new CarRent() { Brand = "Toyota",Date=DateTime.Parse( "6/28/14"),Status="InActive" },//3
new CarRent() { Brand = "Toyota",Date=DateTime.Parse( "12/12/14"),Status="Active" },//4
new CarRent() { Brand = "Honda",Date=DateTime.Parse( "12/14/14"),Status="InActive" },//5
new CarRent() { Brand = "Ford",Date=DateTime.Parse( "3/22/15"),Status="Active" },//6
new CarRent() { Brand = "Ford",Date=DateTime.Parse( "12/12/15"),Status="InActive" },//7
new CarRent() { Brand = "Ford",Date=DateTime.Parse( "6/15/16"),Status="Active" },//8
};
我需要在列表中找到状态为“活动”且后面没有“不活动”状态的项目。 例如:第 1 项 - 品牌“Toyota”和状态“活跃”之后是相同品牌的第 3 项、较晚日期和“非活跃”,但具有“活跃”状态和日期的同一品牌第 4 项大于第 1 项和第 3 项并且没有同品牌的后续“Inactive”状态。所以第 4 项是合格的。
从上面的列表中,预期的结果是第 4 项和第 8 项。
我该怎么做?
【问题讨论】:
-
同品牌的商品?
-
那么,第一项(“Toyota”,Active)后跟(“Honda”,Active)是否也符合条件?我的意思是,您只比较同一品牌的商品吗?
-
第一个项目(“Toyota”,Active)后跟(“Honda”,Active)不符合条件。我需要比较同一品牌的项目
-
同一品牌的两个“活跃”状态之间可以没有“不活跃”吗?即“活动”和“非活动”状态是否切换?在您的示例中,上述内容成立。
-
我可以有两个相同品牌的“活跃”状态,中间没有“不活跃”
标签: c# linq collections