首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

两和之差解决方案

2012-05-02 
两和之差数据库中表结构:code_incode_outbalance1*102*20*330*440已查询到list中最后要得到 (10+20)-(30+4

两和之差
数据库中表结构:
code_in code_out balance
  1 * 10
  2 * 20
  * 3 30
  * 4 40

已查询到list中
最后要得到 (10+20)-(30+40) = -40 ,请问如何写linq语句,最好是vb.net

我现在是分开写的,不爽:
(from a in list where code_in<>"*" select a.balance).sum - (from a in list where code_out<>"*" select a.balance).sum

[解决办法]
var query = list.Select(x => x.code_in != "*" ? x.balance : 0 - x.balance).Sum();

热点排行