gpt4 book ai didi

c# - 从列表中的列表中按项目排序

转载 作者:行者123 更新时间:2023-12-03 22:57:34 25 4
gpt4 key购买 nike

我有以下类别的项目列表:

public class MonthlyConsumption : UserData
{
public string Unit { get; set; }

public List<DailyConsumption> DailyConsumptions { get; set; }
}

public class DailyConsumption
{
public DateTime Day { get; set; }
public double? Value { get; set; }
}

如您所见,我有项目列表,其中每个项目也有天数列表。

我的问题是如何通过内部列表中的特定元素对主列表进行排序。

示例:我有 MonthlyConsumption 类型的列表。该列表的每个元素都有 DailyConsumption 类型的集合,这个集合从今年 1 月开始有第 10 天。如何在 1 月 1 日之前订购我的主 list ?

更新:恐怕我用错误的词表达了我的问题,我真正想做的是订购我的 MonthlyConsumption 类型列表,其中每个项目都有自己的 DailyConsumption 类型列表 by Value at specific Day 所以如果每个我列表中的项目从 1 月 1 日到 10 日在他的内部收藏中有 10 天,我想在 1 月 1 日按值(value)对我的主列表进行排序。

更新我试过了

return monthlyConsumption.OrderBy(x => x.DailyConsumptions.Where(y => y.Day.Day == 1))
.ToList();

但它给了我至少一个对象必须实现 IComparable

最佳答案

我还没有测试过,但我相信你可以用 Linq 做到这一点。

假设“monthlyConsumptions”是一个 List<MonthlyConsumption> .

monthlyConsumptions.OrderBy(mc => mc.DailyConsumptions.Min(dc => dc.Day));

这将订购您的 MonthlyConsumption 列表由他们最早 DailyConsumption .

关于c# - 从列表中的列表中按项目排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14313144/

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