为什么此代码似乎存在错误?

克林特

我有CanExecute一个WPF命令,根据我对编译器的明确程度,它的工作方式似乎有所不同。问题是,我不希望一定要明确。

private bool CanRemoveField()
{
    return SelectedField != null &&
        Context.Item.Id == 0
        ? _fieldsByFieldModel.ContainsKey(SelectedField)
        : !_hasAnyCosts;
}

上面的代码在查询为Id != 0true的Item时,尽管 按钮被启用,该按钮SelectedField处于启用状态null,因此我希望有条件的按钮可以短路并返回false

代码稍作调整:

private bool CanRemoveField()
{
    return SelectedField != null &&
        (Context.Item.Id == 0
        ? _fieldsByFieldModel.ContainsKey(SelectedField)
        : !_hasAnyCosts);
}

我在三元组if周围引入了一些括号,这现在表现出在未选择任何字段时禁用按钮的期望行为。

考虑到它是三元组,如果我希望我的行为不需要括号就可以实现,因为它应该被视为一个陈述,不是吗?

格兰特·温尼

你看到有意义的结果,因为&&逻辑和操作符比的优先级高? :的条件表达式

因此,您的第一个代码段本质上是:

return (SelectedField != null && Context.Item.Id == 0)
    ? _fieldsByFieldModel.ContainsKey(SelectedField)
    : !_hasAnyCosts;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么此代码缺少返回语句错误?

来自分类Dev

为什么此代码会导致分段错误

来自分类Dev

为什么此代码会导致“需要对象”错误?

来自分类Dev

为什么此代码给运行时分段错误?

来自分类Dev

为什么此Python代码给我错误的答案?

来自分类Dev

为什么此代码会产生错误?

来自分类Dev

为什么此程序集存在段错误?

来自分类Dev

为什么此代码中存在未处理的异常?

来自分类Dev

为什么此Scala代码出现堆栈溢出错误?

来自分类Dev

为什么此代码似乎存在错误?

来自分类Dev

为什么此代码不会导致TypeScript类型错误?

来自分类Dev

为什么此代码会产生错误?

来自分类Dev

为什么此代码在编译正常时会引发“名称空间中不存在”错误?

来自分类Dev

为什么此汇编代码会引发段错误?

来自分类Dev

为什么此C ++代码不会对const发生错误

来自分类Dev

为什么此C代码段不会导致分段错误?

来自分类Dev

为什么此代码会引发IndexOutOfBounds错误?

来自分类Dev

为什么此代码中存在分段错误?

来自分类Dev

为什么此IAM策略存在语法错误?

来自分类Dev

为什么此代码会导致分段错误

来自分类Dev

为什么此代码会导致“需要对象”错误?

来自分类Dev

C ASCII的随机数,为什么此代码错误?

来自分类Dev

为什么此代码不会显示错误:当不存在的文件引发e时找不到文件?

来自分类Dev

为什么此代码未引发错误?

来自分类Dev

为什么此代码有错误?

来自分类Dev

为什么此代码似乎在return语句之后执行?

来自分类Dev

为什么此代码未在“错误”事件中捕获错误?

来自分类Dev

为什么此代码返回分段错误错误?

来自分类Dev

为什么此代码返回的年份错误?

Related 相关文章

  1. 1

    为什么此代码缺少返回语句错误?

  2. 2

    为什么此代码会导致分段错误

  3. 3

    为什么此代码会导致“需要对象”错误?

  4. 4

    为什么此代码给运行时分段错误?

  5. 5

    为什么此Python代码给我错误的答案?

  6. 6

    为什么此代码会产生错误?

  7. 7

    为什么此程序集存在段错误?

  8. 8

    为什么此代码中存在未处理的异常?

  9. 9

    为什么此Scala代码出现堆栈溢出错误?

  10. 10

    为什么此代码似乎存在错误?

  11. 11

    为什么此代码不会导致TypeScript类型错误?

  12. 12

    为什么此代码会产生错误?

  13. 13

    为什么此代码在编译正常时会引发“名称空间中不存在”错误?

  14. 14

    为什么此汇编代码会引发段错误?

  15. 15

    为什么此C ++代码不会对const发生错误

  16. 16

    为什么此C代码段不会导致分段错误?

  17. 17

    为什么此代码会引发IndexOutOfBounds错误?

  18. 18

    为什么此代码中存在分段错误?

  19. 19

    为什么此IAM策略存在语法错误?

  20. 20

    为什么此代码会导致分段错误

  21. 21

    为什么此代码会导致“需要对象”错误?

  22. 22

    C ASCII的随机数,为什么此代码错误?

  23. 23

    为什么此代码不会显示错误:当不存在的文件引发e时找不到文件?

  24. 24

    为什么此代码未引发错误?

  25. 25

    为什么此代码有错误?

  26. 26

    为什么此代码似乎在return语句之后执行?

  27. 27

    为什么此代码未在“错误”事件中捕获错误?

  28. 28

    为什么此代码返回分段错误错误?

  29. 29

    为什么此代码返回的年份错误?

热门标签

归档