繁体   English   中英

LINQ sum datatable列在哪里

[英]LINQ sum datatable column where

我有一个LINQ语法,我得到一个列的总和,但我想得到一个列的总和,其中另一列包含一个特定的值。

这是我的语法:

var sum = dt.AsEnumerable().Sum(dra => dra.Field<int>(3));

这里,dt是数据表,3是列索引。 可数据表数据可以是:

a     b     c      d
1     4     6      7
2     0     7      5
2     7     8      6
3     6     9      3
3     5     1      6

对于where条件,数据表列索引为2。

我该如何申请WHERE条件?

var sum = dt.AsEnumerable()
            .Where(r => r.Field<int>(2)==value)
            .Sum(r =>  r.Field<int>(3));
var sum = dt.AsEnumerable().Where(dra => ???).Sum(dra => dra.Field<int>(3));
private long getSumFiled(DataTable dt, string sumFiled, string whereField,int intStatus)
    {
        long sum = dt.AsEnumerable()
                    .Where(r => r.Field<int>(whereField) == intStatus)
                    .Sum(x => x.Field<Int64>(sumFiled));
        return sum;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM