我有一个对象集合,它已被填充为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
对象进行分组”)。
如果您使用查询表达式语法,那将取决于您使用的是哪种语言。你可以有效地忽略“入”部分,虽然 - 这只是一个查询延续;这就好像在说:“我不希望我在查询中使用的任何其他变量,只是分组的结果”(然后可以在查询的后续位中使用它们)。