gpt4 book ai didi

c# - 按日期搜索最大值的对象列表

转载 作者:太空狗 更新时间:2023-10-30 00:18:34 24 4
gpt4 key购买 nike

我希望我能很好地解释我的情况以获得一些帮助。

基本上我有一个由 ItemRow 组成的列表(ItemList),如下所示

ItemRows
public string ItemId { get; set; }
public string ItemDate { get; set; }
public string ItemPrice { get; set; }

目前我在一个 foreach 循环中,它在每次迭代中将当前变量传递给另一个函数。但是,当我传递价格时,我只想传递每个 ItemDate 的最高价格。

foreach item in ItemList
{
AnotherFunction(ItemId, ItemDate, MaxPriceByDate);
}

所以如果我有以下 4 行数据....

123, 01/01/2015, $15
234, 01/01/2015, $20
345, 01/02/2015, $10
456, 01/02/2015, $5

这是我希望循环传递信息的方式:

first iteration:  123, 01/01/2015, $20
second iteration: 234, 01/01/2015, $20
third iteration: 345, 01/02/2015, $10
fourth iteration: 456, 01/02/2015, $10

基本上,我正在寻求有关如何从我的列表中选择 foreach 循环正在使用的美元金额的帮助,但我只希望它在每次迭代时从所述列表中按日期选择最高金额。

我希望这是有道理的,感谢您的帮助!!

最佳答案

您可能希望按 ItemDate 属性进行分组并以不同方式处理。例如。

 var grouped = (from r in rows
group r by r.ItemDate into g
select new { Date = g.Key, MaxPrice = g.Max(gg=>gg.ItemPrice)
Items = g})

这将为您提供一个结构,其中每个元素都有一个日期、该日期的 MaxPrice 以及属于该日期的项目。通过对循环进行一些小的修改,您可以将其融入您当前的结构。

编辑:如另一个答案所述,如果价格是字符串形式或与日期属性相同,您可能必须将价格转换为某种数字格式。我建议在进入这个逻辑之前将字符串转换为日期和数字。

关于c# - 按日期搜索最大值的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270678/

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