gpt4 book ai didi

c# - 查找过去最近的日期

转载 作者:行者123 更新时间:2023-12-05 08:44:53 25 4
gpt4 key购买 nike

我有一个 Service 类。其中一个字段是 ServicePrice 对象的集合,它有一个 PriceСhangeDate 字段。

class Service 
{
ObservableCollection<ServicePrice> ServicePrices {get; set;}
// other fields
}

class ServicePrice
{
int Price {get;set;}
DateTime ChangeDate {get;set;}
}

我需要找到某个时间点相关服务价格的方法。

 public int? GetPriceAtDate(DateTime date)
{
// Do something here
int? ActualPrice = 0
return ActualPrice;
}

我正在寻找使用 LINQ MinBy 函数的解决方案:

 public int? GetPriceAtDate(DateTime date)
{
return ServicePrices.MinBy(sp => (sp.ChangeDate - date).Duration()).Price;
}

但此函数将返回最近的日期,但不一定是过去的日期。从 future 获得产品的价格会很奇怪。

最佳答案

我会分两个阶段处理:

  • 过滤掉 future 的一切(关于date)
  • 查找最新的剩余更改日期
public int? GetPriceAtDate(DateTime date) =>
ServicePrices
.Where(sp => sp.ChangeDate <= date)
.MaxBy(sp => sp.ChangeDate)?.Price;

关于c# - 查找过去最近的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74996814/

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