首页 > 解决方案 > 根据数据库输出的C#负值与Linq

问题描述

我有一个名为Objects的数据库。

然后,我创建了一个简单的 gridView,其中包含我的 db Objects表中的列表,该列表根据名为Type的枚举类显示数据。所以简而言之,列表只会显示类型为负和正的数据

在我的 gridView 中有一个名为 Quantity 的列。

这就是我的编码方式:

 var objects= db.Objects.Where(x =>
                x.Type == ClassType.Positive || x.Type == Class.Negative).Select(so=> so).AsNoTracking().AsQueryable().ToList();

现在到问题和问题...

一切都几乎完美无缺,我的意思是该程序几乎可以完成它必须做的事情。

我想做和不能做的是:每次枚举值 Negative 出现时,我都希望 Quantity(这是一些数字,例如 23 或 43)为 - 我的意思是数字,然后是“-”象征。所以可以说枚举值 Negative 出现了,那么我希望这个数字是 -23。希望我清楚。

我不太确定如何解决这个问题,也许是 Linq?

任何帮助表示赞赏。

标签: c#sqldatabaselinq

解决方案


解决了!

方法如下:

Type == ClassType.IntermediateNegative ? (-f.so.Quantity) : (f.so.Quantity)

所以它的作用是

  1. 它看起来是否 Type == ClassType.IntermediateNegative
  2. 如果语句为真,则在整数前面设置一个减号
  3. 然后再次,如果该语句为假,则显示不带减号的数字。

推荐阅读