【发布时间】:2010-05-14 04:26:00
【问题描述】:
我正在努力让它发挥作用。我有一个名为Items 的List(Of MyItem),上面有一个OrderId 属性。从这些项目中,我想创建一个Orders 的列表。有些项目将具有相同的OrderId,所以我想尝试按OrderId 分组。然后我想按日期排序。这是我目前所拥有的:
Public ReadOnly Property AllOrders() As List(Of Order)
Get
Return Items.Select(Function(i As MyItem) New Order(i.OrderID)) _
.GroupBy(Function(o As Order) New Order(o.OrderID)) _
.OrderBy(Function(o As Order) o.DateOrdered).ToList
End Get
End Property
这当然不能编译,我得到了错误:
“System.Collections.Generic.List(Of System.Linq.IGrouping(Of Order, Order))”类型的值无法转换为“System.Collections.Generic.List(有序))'
我已将我认为有问题的部分加粗,但我不知道如何解决它。此外,在我添加 .GroupBy 语句之前,它曾经可以正常工作(除了有重复的值)。有人有什么想法吗?
谢谢
编辑
基本上,我想要这个:
现有项目列表获取列表并将其转换为 List(Of MyItem): List(Of Order): 项目 ID 订单 ID 订单 ID 1 100 100 2 102 102 3 100
【问题讨论】:
-
相同orderid的商品是否有相同的日期?
-
这些项目没有日期。基本上我正在使用项目列表来获取 OrderIds 以做出正确的订单,但我不想要欺骗。我觉得我让它变得比它必须的更难:\
-
所以你真的只想要一个唯一的 orderid 列表吗?
-
嗯,是的。但我想用它们来创建订单