Nza*_*all 4 c# refactoring boolean dynamics-crm-2011
我在c#中有一些代码,如果某个布尔值为true,则需要将数字递增1,否则它需要说明相同.我在VS 2012中使用立即窗口找到的唯一方法是+ Convert.ToInt32(boolean).
我在某处遗漏了一些明显的东西吗?我认为因为布尔值基本上是真(1)或假(0)(让我们忘记FileNotFound),所以更容易将布尔值强制转换为Int值.
编辑:false为0,而不是1
edit2:我原来的编辑被吞没了.我目前正在对数字进行null检查(该数字是来自Dynamics CRM 2011实体的可空int字段).是否可以保留该nullcheck?
我不认为在某些值上添加布尔标志是非常易读的解决方案.基本上你想增加(即加1)值,如果标志是true.所以,如果检查会清楚地描述你的意图添加做的工作很简单:
if (flag) value++;
Run Code Online (Sandbox Code Playgroud)
更新:根据您的编辑,您想要做两件事:
为了使你的代码清晰,我不会试图把两件事都放在一行.明确表达你的意图:
value = value ?? 0; // 1
if (flag) // 2
value++;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |