Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加内存中数据表中的列的值_C#_Winforms_Linq_Datatable_Add - Fatal编程技术网

C# 添加内存中数据表中的列的值

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

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

例如:amount包含值1000500070006000,那么我想将所有这些值相加,并将答案存储在一个变量中

感谢您的帮助, 提前感谢

您可以使用:

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();