我有一个包含 Amount(十进制)、Bank(String)和 AccountNo(string)列的 DataTable。该表在运行时存储在内存中,所以我想添加表中所有行的数量并将其存储到变量中
例如:金额包含值 1000,5000,7000,6000 然后我想添加所有这些值并将答案存储在变量中
任何帮助表示赞赏,在此先感谢
您可以使用Enumerable.Sum
:
decimal totalAmount = table.AsEnumerable().Sum(r => r.Field<decimal>("Amount"));
您可以使用 Expression 属性为该属性创建一个数据列。在这里了解更多
DataColumn c = new DataColumn();
c.Expression = "Sum(Amount)";
并在变量中使用它。
使用表达式的优点是每次添加一行时都不需要计算 sum。
或者您可以对行运行 linq 查询并找到总和:
dataTable.AsEnumerable().Select(t=> Convert.ToInt32(t["Amount"])).Sum();