【问题标题】:Best way to optimise an if statement in C#? [duplicate]在 C# 中优化 if 语句的最佳方法? [复制]
【发布时间】:2015-07-08 15:20:07
【问题描述】:

我正在编写一个应用程序,并且对于这段代码(在方法的末尾)

if (selectSdfDialog.ShowDialog() == DialogResult.OK)
{
    Sdf = selectSdfDialog.FileName;
    var regex = new Regex("[VQ]\\d{11}");
    Serial = regex.Match(selectSdfDialog.SafeFileName).ToString();
}

Resharper 给了我一个提示来反转 if 语句,把它带到这里

if (selectSdfDialog.ShowDialog() != DialogResult.OK) return;
Sdf = selectSdfDialog.FileName;
var regex = new Regex("[VQ]\\d{11}");
Serial = regex.Match(selectSdfDialog.SafeFileName).ToString();

我的问题是,这是工作得更快还是更好,如果是,编译器有什么区别?

【问题讨论】:

  • 同样的,resharper 再次可以给你提示 - 颠倒这个说法
  • 它减少了缩进。有时可以使代码在 IMO 中更具可读性。
  • @Grundy 在这种情况下,这只是 resharper 的一个可能命令,但在此之前它用黄色(可能是警告)标志显示此提示

标签: c# optimization


【解决方案1】:

这不是编译器优化,而是作者优化。它flattens arrow code

【讨论】:

  • 我喜欢最后一句话:“但无论你做什么,你都必须摒弃那种认为函数底部应该只有一个出口点的错误想法。”我>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 2020-01-30
相关资源
最近更新 更多