繁体   English   中英

C#列表查询和分组

[英]C# List querying and grouping

我有这个清单:

OrderId    ProductId    DateTime

1               1                10.01.2012
1               2                09.01.2012
2               1                11.01.2012
3               1                12.01.2012
3               2                13.01.2012

我想从中提取另一个仅ProductId==1且DateTime为10.01.2012

即,每个orderId仅productId==1

我也只想要该项目的最少dateTime版本。

因此对于上面的列表,2012年1月1日是最小的dateTime,其中productId == 1。

结果表;

OrderId    ProductId    DateTime

1               1                10.01.2012

我怎样才能做到这一点?

这是一个可能的解决方案:

myList = myList.Where(x.ProductId == 1).OrderBy(x => x.DateTime);

这将通过productTime等于1的DateTime值对新列表进行排序。如果只想获取第一个列表,则可以使用列表的.First()方法,例如:

myCustomType = myList.Where(x => x.ProductId == 1).OrderBy(x => x.DateTime).First();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM