c# - 基于 bool 值取反数值的优雅方式

标签 c#

我有一个十进制变量,如果 bool 变量为真,我想取反。谁能想到比这更优雅的方法:

decimal amount = 500m;
bool negate = true;

amount *= (negate ? -1 : 1);

我在考虑按位运算符或严格的数学实现。

最佳答案

就我个人而言,我只会使用 if 语句,因为我觉得它的意图最明确:

decimal amount = 500m;
bool negate = true;

// ...

if (negate)
    amount *= -1;

这真的不是任何额外的输入(它实际上更短!),而且在我看来更清晰。

关于c# - 基于 bool 值取反数值的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6902103/

相关文章:

c# - 带有混合触发器的 ListView 奇怪行为

c# - 用C#计算嵌套对象的数量

c# - 获取 3D 模型特定顶点可见时的屏幕空间坐标

c# - EDMX Designer 在运行时就像在 c# 中一样

c# 对象 obj 的值为 {}。什么是 "{}"?

c# - 你能从 web api Controller 同时调用 GET 和 POST 吗?

c# - winform 本地化为阿拉伯语并更改对齐方式

C# 读取西里尔字母

c# - 在 Xamarin Forms 中添加按钮的最佳方式是什么?

c# - .Net 如何加载类?