我有一个Dim XXX As IEnumerable(Of MyObject)
已填充的对象集合。MyObject 中有一个我想要分组的属性,例如 MyObject.MyCode。
查看 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 by 的结果并将其放入您可以在选择部分中引用的新项目中。
基本上,“分组依据”操作有两个预测:
例如,假设我们有一群人。您可以按年龄对他们的名字进行分组,例如
等等
如果您直接使用GroupBy方法,您只需要指定键选择器,在这种情况下,值选择器默认为“序列中的值”(例如,在我们上面的示例中,它默认为“Person
按年龄”)。
如果您使用查询表达式语法,那将取决于您使用的语言。不过,您可以有效地忽略“进入”部分 - 这只是一个查询继续;这就像说,“我不再想要我在查询中使用的任何其他变量,只想要分组的结果”(然后您可以在查询的后续位中使用它)。
来自订单表中的装运_
按 Shipment.ShippingZip 分组 _
总计 = Sum(Shipment.Cost),平均值(Shipment.Cost)