我怎么做func(datarow)

时间:2014-10-22 15:25:39

标签: vb.net linq

这应该很容易,但我没有得到它。经过一个小时的谷歌搜索和MSDN细读后,我还没有得到它。

我想使用Linq在输入的数据表中对整列进行求和。

不会编译:

Dim sum4 As Decimal = PmtList.Sum(x  System.Func(Of GSRDataSet.PmtHistRow)())

不会编译:

Dim x As Decimal
Dim sum3 = PmtList.AsEnumerable().Sum(x >= x.Field < Int() > ("Balance"))

还试过:得到错误&#34;缺少操作数&#34;

Dim sumObj As Object = PmtList.Compute("Sum(Total)", "=<>0")

如何使用Linq对数据表中的整列进行求和?

2 个答案:

答案 0 :(得分:1)

这应该有效:

Dim sum3 = PmtList.AsEnumerable().Sum(Function(x) x.Field(Of Int)("Balance"))

答案 1 :(得分:1)

如果您的余额字段的类型为十进制,那么您可以这样做:

Dim sum As Decimal = PmtList.AsEnumerable().Sum(Function(row As DataRow) row.Field(Of Decimal)("Balance"))