在 Visual Studio 2008 中,有一个选项“优化代码”可能对应于 /optimize 选项。它永远不会启用,即使在“发布”模式下也是如此。
为什么我不希望始终启用此选项?
发布版本默认启用它(也许您更改了发布版本的设置?)。将其关闭以使调试更容易。对于发布代码,请将其打开。
C#3 中的代码优化已经相当不错 - 它进行了许多巧妙的性能调整,这些调整在 IL 中对代码的更改比您预期的要多得多。
某些混淆工具(以及其他一些 IL 工具,如 ILMerge)有时会在启用优化的情况下破坏程序集。您使用的 IL 工具越多,就越有可能遇到严重的优化问题。
正如 @Brian Rasmussen 已经说过的 (+1) - 你希望它关闭用于调试,打开用于发布。
为了明确这一点,优化会内联函数并消除一些变量。在调试优化代码时,您不会像平常一样从 IDE 获得太多帮助,因为某些代码实际上已不存在。因此,为了进行调试,请将 if 关闭(默认)。
在像 C++ 这样的语言中,优化有时(经常)会产生需要考虑的严重副作用。据我所知,C# 不是或几乎不是这种情况,所以从代码的正确性来看,优化与否可能并不重要。