我有一个DataTable,最少36000列,最少20000行。我有一个硬编码的列名列表,我需要在数据表中找到它,并对每列的值执行一些计算。
例如特定列的所有行的总和
我在考虑使用简单的foreach来查找列名和datatable.compute方法来执行我的计算。
有没有更好的方法来实现这一目标?任何帮助是极大的赞赏。
谢谢。
我正在使用.Net 4.6和VS2015
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以比较Datatable.Compute和Foreach之间的性能差异。
// Datatable.Compute sample
DataTable table;
table = dataSet.Tables["Orders"];
// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Total)", "EmpID = 5");
以下是foreach的样本
// Foreach through DataTable
double sum = 0;
dt = ds.Tables["Orders"];
foreach (DataRow dr in dt.Rows)
{
sum += System.Convert.ToDouble(dr["Total"]);
}