我在 C# 中有一些代码,如果某个 boolean 值为真,则需要将数字递增 1,否则它需要说相同。我发现在 VS 2012 中使用立即窗口的唯一方法是通过 + Convert.ToInt32(boolean)
。
我在这里某处遗漏了一些明显的东西吗?我想既然 boolean 值基本上是 true (1) 或 false(0)(让我们忘记 FileNotFound),那么将 boolean 值强制转换为 Int 值会更容易。
编辑: false是0,不是1
edit2:我原来的编辑被吞没了。我目前正在对数字进行 nullcheck(该数字是 Dynamics CRM 2011 实体中的可为 null 的 int 字段)。是否可以保留该 nullcheck?
最佳答案
我不认为将 boolean 标志添加到某个值是非常可读的解决方案。基本上,如果标志为 true
,您希望增加(即加 1)值。所以,简单的 if 检查将清楚地描述你的意图添加做这项工作:
if (flag) value++;
更新:根据您的编辑,您想做两件事:
- 将默认值设置为可空值
- 如果某些条件为真,则增加值。
为了使您的代码清晰,我不会尝试将两者放在一行中。让你的意图明确:
value = value ?? 0; // 1
if (flag) // 2
value++;
关于c# - Convert.toInt32(boolean) 是 c# 中执行此操作的唯一方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21046124/