我有一个ItemForSale()列表:
public class ItemForSale(){
public string Name {get;set;}
public bool OnSale {get;set;}
public int price {get;set;}
}
我有一个销售价:(由用户决定)
public int SalePrice {get;set;}
我需要遍历这些ItemForSale对象的列表。
如果某个对象为OnSale,则随后在列表中为每个对象将price设置为SalePrice。
直到下一个ItemForSale.OnSale = true。
此过程将继续进行,直到列表中的所有项目都具有价格为止。
这个问题是一个非常具体的情况,我试图思考提出此问题的最佳方法。抱歉,不清楚。
答案 0 :(得分:0)
尝试以下操作:
List<ItemForSale> items = new List<ItemForSale>() {
new ItemForSale() { Name = "abc", OnSale = true},
new ItemForSale() { Name = "def", OnSale = false },
new ItemForSale() { Name = "ghi", OnSale = false},
new ItemForSale() { Name = "jkl", OnSale = true},
new ItemForSale() { Name = "mno", OnSale = false},
new ItemForSale() { Name = "pqr", OnSale = true},
new ItemForSale() { Name = "stu", OnSale = false},
new ItemForSale() { Name = "vwx", OnSale = true},
new ItemForSale() { Name = "yz", OnSale = true}
};
List<List<ItemForSale>> groups = new List<List<ItemForSale>>();
List<ItemForSale> group = null;
foreach (ItemForSale item in items)
{
if (item.OnSale)
{
group = new List<ItemForSale>();
group.Add(item);
groups.Add(group);
}
else
{
group.Add(item);
}
}