gpt4 book ai didi

c# - 获取包含所有选定产品的日期

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:12 25 4
gpt4 key购买 nike

我有一个日历应用程序,您可以在其中选择各种产品组合 - 服务会根据日历日期范围获取可用日期。如果所有选定的产品在特定日期有货,则该日期只有“有货”。

class SelectedProduct
{
public int ID { get; set; }
public int Qty { get; set; }
}

class AvailableInventory
{
public int ID { get; set; }
public DateTime Date { get; set; }
}


// List of selected products from user
List<SelectedProduct> SelectedProducts;

// populated from service with all dates for all products
List<AvailableInventory> AvailableInventory;

我希望能够获取每个日期的可用库存列表,其中包含所选产品中所有 ID 的库存。

这是一个可能解决方案的(非工作)pusdo 代码,我只是不太了解 linq 以使其正确

var results = List<AvailableInventory>(); 

foreach (var group in AvailableInventory.GroupBy(x => x.Date))
{
if (group.Contains(ALL ID's in SelectedProducts)
{
results.AddRange(group);
}

}

最佳答案

这按日期对库存进行分组(忽略日期部分),然后仅选择包含所有选定产品 ID 的组,最后为匹配组选择所有可用库存。

var results =
AvailableInventory.GroupBy(i => i.Date.Date)
.Where(g => !SelectedProducts.Select(p => p.ID)
.Except(g.Select(i => i.ID))
.Any())
.SelectMany(g => g);

结果是 AvailableInventory 的集合。

关于c# - 获取包含所有选定产品的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24520769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com