我有一个对象列表List<Payment>
,我想通过PaymentDate
将其分组为列表的列表。类似于这样:List<List<Payments>>
,其中每个列表的日期相同(不包括小时)。
DateTime
类有一个Date
属性:
List<List<Payments>> result = payments
.GroupBy(p => p.PaymentDate.Date)
.Select(g => g.ToList())
.ToList();
你可以像其他人建议的那样使用GroupBy
,或者你可以创建一个Lookup
:
var lookup = payments.ToLookup(payment => payment.PaymentDate.Date);
List<List<...>>
或Dictionary<..., List<...>>
)更加简洁。GroupBy()
来实现。结果将是类型为List<List<Payment>>
。var result = payments.GroupBy(payment => payment.PaymentDate.Date)
.Select(group => group.ToList())
.ToList()