0

我有一个包含 Amount(十进制)、Bank(String)和 AccountNo(string)列的 DataTable。该表在运行时存储在内存中,所以我想添加表中所有行的数量并将其存储到变量中

例如:金额包含值 1000,5000,7000,6000 然后我想添加所有这些值并将答案存储在变量中

任何帮助表示赞赏,在此先感谢

4

2 回答 2

1

您可以使用Enumerable.Sum

decimal totalAmount = table.AsEnumerable().Sum(r => r.Field<decimal>("Amount"));
于 2013-04-16T11:30:23.750 回答
1

您可以使用 Expression 属性为该属性创建一个数据列。在这里了解更多

DataColumn c = new DataColumn();
c.Expression = "Sum(Amount)";

并在变量中使用它。

使用表达式的优点是每次添加一行时都不需要计算 sum。

或者您可以对行运行 linq 查询并找到总和:

dataTable.AsEnumerable().Select(t=> Convert.ToInt32(t["Amount"])).Sum();

有很多编写 linq 的方法,您可以在此处此处了解有关 linq 语句的信息。

于 2013-04-16T11:35:28.307 回答