我有一個時間讓這個工作。我有一個叫做Items
的List(Of MyItem)
,它們有一個OrderId
屬性。從這些項目中,我想創建一個Order
s的列表。有些項目將有相同的OrderId
,所以我想嘗試按OrderId
分組。然後我想按日期排序。這是我到目前爲止有:VB.NET GroupBy LINQ聲明
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
這當然不編譯,我得到的錯誤:
Value of type 'System.Collections.Generic.List(Of System.Linq.IGrouping(Of Order, Order))' cannot be converted to 'System.Collections.Generic.List(Of Order))'
我加粗,我認爲這個問題是一部分,但我不知道如何解決它。此外,它還用於在添加.GroupBy
語句之前正常工作(除了存在重複值)。有人有主意嗎?
感謝
編輯
基本上,我想這一點:
List of Existing Items Take List and Turn it into List(Of MyItem): List(Of Order): ItemId OrderId OrderID 1 100 100 2 102 102 3 100
不要使用相同的OrderID項具有相同日期前添加一個排序依據的條款? – 2010-05-14 04:56:21
這些項目沒有日期。基本上我使用物品清單來抓取OrderIds來做出正確的訂單,但我不想要。我覺得我比它更難:\ – Jason 2010-05-14 04:59:40
所以你真的想要一個獨特的orderids列表? – 2010-05-14 05:01:58