【问题标题】:What is respective branch? (suggested by ReSharper)什么是各自的分支? (由 ReSharper 建议)
【发布时间】:2011-06-21 15:11:41
【问题描述】:

我正在使用 ReSharper 重构我的代码,ReSharper 的建议之一是使用相应的分支而不是始终为真的 if 语句。

如果我有

if (myVar != null){
   //code
}

我应用相应的分支代码如下

{
   //code
}

这是 if 语句的快捷方式吗? 这是干什么用的? 可爱的括号和什么都没有有什么区别?

提前致谢。

【问题讨论】:

    标签: refactoring resharper


    【解决方案1】:

    块必须留在那里,否则语义会改变。

    当您移除大括号时,分支块内声明的变量范围会发生变化。如果存在冲突/隐藏 (lambda) 变量,这可能会导致意外。

    要删除大括号,请将光标放在其中一个上,然后按 Alt-Enter,“删除大括号”

    重新引入大括号:选择代码块,Ctrl-Alt-J, 7 用块包围:)

    【讨论】:

    • 太棒了!感谢您的精彩解释,我现在可以理解为什么大括号仍然存在,我不知道您可以使用大括号来保持变量的范围。谢谢!。
    【解决方案2】:

    在 ReSharper 6.0 中,如果您的内部没有变量声明,此命令还会删除大括号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      相关资源
      最近更新 更多