我有Service课。其中一个字段是ServicePrice对象的集合,其中有一个Priceand\xd0\xa1hangeDate字段。
class Service \n{\n ObservableCollection<ServicePrice> ServicePrices {get; set;}\n // other fields\n}\n\nclass ServicePrice \n{\n int Price {get;set;}\n DateTime ChangeDate {get;set;}\n}\nRun Code Online (Sandbox Code Playgroud)\n我需要方法来查找在某个时间点相关的服务的价格。
\n public int? GetPriceAtDate(DateTime date)\n{\n // Do something here\n int? ActualPrice = 0 \n return ActualPrice;\n}\n\nRun Code Online (Sandbox Code Playgroud)\n我正在使用 LINQ MinBy 函数找到解决方案:
\n public int? GetPriceAtDate(DateTime date)\n{\n return ServicePrices.MinBy(sp => (sp.ChangeDate - date).Duration()).Price;\n}\nRun Code Online (Sandbox Code Playgroud)\n但此函数将返回最近的日期,但不一定是过去的日期。从未来获得产品的价格是很奇怪的。
\n