如何在列数据类型为动态的数据表列中进行分组?

时间:2013-11-27 01:43:55

标签: c# .net linq

我想在Datatable列上进行GroupBy,其中列的数据类型是动态的。 即。

  public List<string> GetGroupBy(DataTable dt, String ColumnDatatype, String ColumnName)
    {
        return (from r in dt.AsEnumerable()
                group r by new
                {
                    GrpList = r.Field<ColumnDatatype>(ColumnName)
                } into g
                select new { g.Key.GrpList }).ToList();
    }

这不能使ColumnDatatype给我错误。我正在使用框架3.5。

上面怎么办?

1 个答案:

答案 0 :(得分:2)

您可以使用索引器代替Field<T>,如下所示:

return (from r in dt.AsEnumerable()
        group r by r[ColumnName] into g
        select new { g.Key.GrpList }).ToList();