我有一個對象集合,它已被填充爲Dim XXX As IEnumerable(Of MyObject)
。在MyObject中有一個屬性,我想按組合,例如MyObject.MyCode。如何使用LINQ對象集合中的屬性進行分組?
看看LINQ的例子,不清楚Group XX By INTO
語法在做什麼,我無法理解它。
因此,我所追求的是根據MyCode的值進行分組的能力,並查看XXX中每個值的數量。
我知道我沒有解釋得很好,但希望有一個LINQ的人會得到它。
感謝
瑞安
我有一個對象集合,它已被填充爲Dim XXX As IEnumerable(Of MyObject)
。在MyObject中有一個屬性,我想按組合,例如MyObject.MyCode。如何使用LINQ對象集合中的屬性進行分組?
看看LINQ的例子,不清楚Group XX By INTO
語法在做什麼,我無法理解它。
因此,我所追求的是根據MyCode的值進行分組的能力,並查看XXX中每個值的數量。
我知道我沒有解釋得很好,但希望有一個LINQ的人會得到它。
感謝
瑞安
下面的C#代碼顯示瞭如何做到這一點(對不起,但我不是一個VB.NET人):
var myGroups = from p in myObject
group p by p.MyCode into g
select new { Category1 = g.Key, Category = g };
into關鍵字基本上把group的結果放到一個新的item中,你可以在你選擇的部分中引用它。
從裝運OrderTable _
集團通過Shipment.ShippingZip _
成總的= SUM(Shipment.Cost),平均(Shipment.Cost)
基本上是一個「分組依據」操作有兩個突出:
例如,假設我們有一羣人。你可以按他們的年齡分組他們的名字,例如
等
如果你直接使用GroupBy方法,你只需要指定密鑰選擇器,在這種情況下,值選擇器默認爲「序列中的值」(例如在上面的示例中,它將默認爲「按年齡對Person
對象進行分組」)。
如果您使用查詢表達式語法,那將取決於您使用的是哪種語言。你可以有效地忽略「入」部分,雖然 - 這只是一個查詢延續;這就好像在說:「我不希望我在查詢中使用的任何其他變量,只是分組的結果」(然後可以在查詢的後續位中使用它們)。