C# DataTable Group by
时间: 2023-07-12 16:46:21 浏览: 214
C#中可以使用`DataTable`的`Select`方法和`Compute`方法来实现`Group by`操作,具体实现步骤如下:
1. 使用`DataTable`的`Select`方法筛选出需要分组的数据,并按照分组的列进行排序。
```
// 假设需要对DataTable中的"Name"列进行分组
DataTable dt = new DataTable();
// ...
DataRow[] rows = dt.Select("", "Name ASC");
```
2. 使用`Compute`方法对分组后的数据进行聚合操作,将聚合结果存储到一个新的`DataTable`中。
```
// 新建一个DataTable用于存储聚合结果
DataTable result = new DataTable();
result.Columns.Add("Name", typeof(string));
result.Columns.Add("Count", typeof(int));
// 使用Compute方法进行聚合操作
string currentName = "";
int count = 0;
foreach (DataRow row in rows)
{
string name = row["Name"].ToString();
if (name != currentName)
{
if (currentName != "")
{
result.Rows.Add(currentName, count);
}
currentName = name;
count = 1;
}
else
{
count++;
}
}
// 添加最后一个分组的聚合结果
result.Rows.Add(currentName, count);
```
这样就可以实现C#中的`DataTable`的`Group by`操作。当然,也可以使用第三方的开源库,如LINQ to DataSet来实现同样的功能。
阅读全文