在日常开发中很少使到DataTable实现业务,因此知道DataTable的用法并不多,除了普通的查询以及排序。现在分享一个DataTable中的运算函数Compute,它能帮助我们直接使用DataTable进行求和、求个数等操作,这对于数据后加工挺有效果,因此分享一下,用法如下:
函数名:Compute
参数1:expression 表达式
参数2:filter 条件表达式
如:dataTable1中包含了ID,QTY(数量)两个字段
ID QTY
1 4
2 5
3 6
现在需要求ID大于1的和
var sum=dataTable1.Compute("Sum(QTY)","ID>1");
既可以实现,有点需要注意的地方就是,要进行聚合函数的列必须定义成数字类型,如int,decimal等。
static void Main(string[] args)
{
var dataTable1= InitDataTable();
Console.WriteLine(dataTable1.Compute("sum(QTY)","ID>1"));
Console.ReadKey();
}
/// <summary>
/// 初始化DataTable
/// </summary>
/// <returns></returns>
private static DataTable InitDataTable()
{
DataTable dataTable1 = new DataTable();
DataColumn dc = new DataColumn
{
&n