gpt4 book ai didi

c# - 使用LINQ计算每一行的总和

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:22 25 4
gpt4 key购买 nike

我有下面几列的数据表

Price1  Price2  Price3  Price4  ColSum
------ ------ ------ ------ ------
2.5 4.7 8 99
10 39 88.3 90
99 21 33 3.2


现在,如何使用LINQ计算每一行的总和?

我想实现

ColSum = sum(Price1+Price2+Price3+Price4) 


对于linq的每一列。

最佳答案

您根本不需要Linq。只需使用Expression property


  获取或设置用于过滤行,计算列中的值或创建聚合列的表达式。


例:

var dt = new DataTable();
dt.Columns.Add("Price1", typeof(decimal));
dt.Columns.Add("Price2", typeof(decimal));
dt.Columns.Add("Price3", typeof(decimal));
dt.Columns.Add("Price4", typeof(decimal));
dt.Columns.Add("ColSum", typeof(decimal));

dt.Rows.Add(new object[]{2.5, 4.6, 8, 99});
dt.Rows.Add(new object[]{10, 39, 88.3, 90});
dt.Rows.Add(new object[]{99, 21, 33, 3.2});

dt.Columns["ColSum"].Expression = "Price1+Price2+Price3+Price4";


dt现在看起来像:



这样,您可以保留 DataTable,并且 ColSum列会自动为您更新。

关于c# - 使用LINQ计算每一行的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com