C# datatable 里规定列的平均值 在赋予到一个新datatable里
时间: 2024-02-05 07:13:38 浏览: 128
你可以使用 LINQ to DataSet 查询语言来计算 DataTable 列的平均值,并将结果赋给一个新的 DataTable。
下面是一个示例代码,假设你要计算 DataTable 中名为 "score" 的列的平均值,并将结果保存到一个新的 DataTable 中:
```csharp
// 假设你已经有了一个 DataTable 叫做 "myDataTable"
DataTable newDataTable = new DataTable();
// 添加一个新列到新 DataTable,用来保存平均值
newDataTable.Columns.Add("avgScore", typeof(double));
// 计算平均值,使用 LINQ to DataSet 查询语言
double avgScore = myDataTable.AsEnumerable()
.Average(row => row.Field<double>("score"));
// 创建一个新行,将平均值添加到新 DataTable 中
DataRow newRow = newDataTable.NewRow();
newRow["avgScore"] = avgScore;
newDataTable.Rows.Add(newRow);
```
在上面的代码中,我们使用 `AsEnumerable()` 方法将 DataTable 转换为 `IEnumerable<DataRow>` 类型,这样就可以使用 LINQ to DataSet 查询语言来查询数据。然后,我们使用 `Average()` 方法计算 “score” 列的平均值,并将结果保存到 `avgScore` 变量中。最后,我们创建一个新行,并将平均值添加到新 DataTable 中。
注意,我们在添加新列时使用了 `typeof(double)` 参数,这是因为我们要将平均值保存为一个双精度浮点数。如果你要保存为其他类型,可以相应地更改参数。
阅读全文