私は次のクラスのアイテムのリストを持っています:
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日までにメインリストを注文するにはどうすればよいですか?
更新:問題を間違った言葉で表現しているのではないかと思います。本当にやりたいのは、MonthlyConsumptionタイプのリストを注文することです。ここで、各アイテムには、特定の日の値によるDailyConsumptionタイプの独自のリストがあるため、リスト内の各アイテムに1月1日から10日までの彼の内部コレクションの10日間、メインリストを1月1日の値順に並べたいと思います。
私が試した更新
return monthlyConsumption.OrderBy(x => x.DailyConsumptions.Where(y => y.Day.Day == 1))
.ToList();
しかし、それは私に少なくとも1つのオブジェクトを実装する必要がありますIComparable
。