C# 添加内存中数据表中的列的值
我有一个DataTable,其中包含列Amount(十进制)、Bank(字符串)和AccountNo(字符串)。 这个表在运行时存储在内存中,所以我想添加表中所有行的数量,并将其存储到一个变量中 例如:amount包含值1000500070006000,那么我想将所有这些值相加,并将答案存储在一个变量中 感谢您的帮助, 提前感谢您可以使用:C# 添加内存中数据表中的列的值,c#,winforms,linq,datatable,add,C#,Winforms,Linq,Datatable,Add,我有一个DataTable,其中包含列Amount(十进制)、Bank(字符串)和AccountNo(字符串)。 这个表在运行时存储在内存中,所以我想添加表中所有行的数量,并将其存储到一个变量中 例如:amount包含值1000500070006000,那么我想将所有这些值相加,并将答案存储在一个变量中 感谢您的帮助, 提前感谢您可以使用: decimal totalAmount=table.AsEnumerable().Sum(r=>r.Field(“金额”); 您可以使用Expression
decimal totalAmount=table.AsEnumerable().Sum(r=>r.Field(“金额”);
您可以使用Expression属性为属性创建数据列。
了解更多
并在变量中使用它
使用表达式的优点是,不需要在每次添加行时计算sum
或者,您可以对行运行linq查询,并按如下方式查找总和:
dataTable.AsEnumerable().Select(t=> Convert.ToInt32(t["Amount"])).Sum();
编写linq有很多方法,您可以了解linq语句&。哪个C#版本?(因为数据集存在Linq)。
DataColumn c = new DataColumn();
c.Expression = "Sum(Amount)";
dataTable.AsEnumerable().Select(t=> Convert.ToInt32(t["Amount"])).Sum();