使用Linq.Min()获取Min Date
本文关键字:Min 获取 Date Linq 使用 | 更新日期: 2023-09-27 18:00:14
我正试图从集合中获取最小日期
someCollection.Min(d => d.Dates.Select(c => c.ReservationDateStart)).FirstOrDefault();
但它返回异常
至少有一个对象必须实现IComparable
基于此,我得出了Min不起作用的结论,但我们如何根据Min的属性集合从集合中获得Min对象?
我的收藏品有点像
public class InfoDatesViewModel
{
public DateTime OccureFrom { get; set; }
public DateTime OccureTo { get; set; }
public string RecurreFrom { get; set; }
public string RecurreTo { get; set; }
public int RecurrentType { get; set; }
public bool IsFullDay { get; set; }
public int ReservedQuantity { get; set; }
public ReservedDateViewModel[] Dates { get; set; }
}
CCD_ 1为
public class ReservedDateViewModel
{
public bool IsAvailable { get; set; }
public DateTime ReservationDate { get; set; }
public DateTime ReservationDateEnd { get; set; }
public DateTime ReservationDateStart { get; set; }
}
问题是InfoDatesViewModel.Dates
是一个集合,所以不能直接比较。
当有一个集合集合时,可以使用SelectMany
运算符将它们展平:
someCollection.SelectMany(c => c.Dates).Min(d => d.ReservationDateStart);