我有一个如下所示的数据表:
keytool -list -printcert -jarfile foo.apk
我想通过 Category 类别对它进行分组,并将每个相似的分组 convert 分组为 DataTable 并放置放在列表中。因此,我需要具有如下的 3 数据表:
数据表1
Category | Amount
Food | 10
Drink | 20
Clothes | 50
Drink | 30
Food | 40
Clothes | 5
数据表2
Category | Amount
Food | 10
Food | 40
数据表3
Category | Amount
Drink | 20
Drink | 30
关于如何实现上述目标的任何建议? 我只能找到想要输出1个DataTable的问题。
答案 0 :(得分:3)
您可以通过这种方式将Linq用于对象(将Linq用于数据集)
List<DataTable> tablesByCategory =
table.AsEnumerable().
GroupBy(r => r.Field<double>("Category")).
Select(g =>
{
DataTable dt = table.Clone();
foreach (DataRow r in g)
{
dt.ImportRow(r);
}
return dt;
}).ToList();