使用Linq和VB .NET进行数据表分组

问题描述

| 我在这里非常密集,但是我正在尝试从DataTable中获取一些统计信息。数据表中的一列称为“颜色”。 我需要找出数据表中每个“ colour”实例的数量。 我正在努力:
Dim q = From p In PGWorkingDataTable _
            Group p By p(\"colour\") Into Group _
            Select Group
但是我在设计时得到了编译器错误: \“ p(\” colour \“)部分上的”范围变量名称只能从没有参数的简单名称或限定名称中推断出来“。 我在这里需要一些认真的指导。谢谢你的帮助。 乔     

解决方法

您需要为组密钥指定一个名称:
From p In new DataTable() _
Group p By Color = p(\"colour\") Into Group _
Select Group
    ,用VB.NET编写LINQ是没人喜欢的。尝试如下操作:
Dim q = From p In PGWorkingDataTable _
        Group By colour = p(\"colour\") _
        Into colourCount = Count(p(\"colour\")) _
        Select colour,colourCount