【发布时间】:2011-10-19 01:49:47
【问题描述】:
与仅使用私有变量的常规可修改字段相比,使用 const 或 readonly 字段是否有任何性能优势。
例如:
public class FooBaar
{
private string foo = "something";
private const string baar = "something more"
public void Baaz()
{
//access foo, access baar
}
}
在上面的示例中,您可以看到有两个字段:foo 和 baar。两者在课堂外都无法访问,所以为什么很多人更喜欢在这里使用const,而不仅仅是private。 const 是否提供任何性能优势?
这个问题之前被社区关闭了,因为人们把这个问题误解为“const和readonly在性能方面有什么区别?”,这里已经回答了:What is the difference between const and readonly?.
但我的真正意思是,“通过使用const 或readonly 是否比不使用它们获得任何性能优势”。
【问题讨论】:
-
当您厌倦了微优化时,总有纳米优化。
-
我已经编辑了这个问题,希望大家看看!!
-
@Henk - 我(部分)不同意。当速度成为问题时,人们应该怎么做?问题是关于性能的——答案不应该只是忽略这一点。 Spender 的回答是非常好的建议,但它并不是这个问题的真正答案。
-
如果是关于性能,唯一明智的答案是:使用分析器来查找问题。不太可能是(缺失的)只读或常量。
-
- 不同的答案 - const yes, readonly no
标签: c# performance constants readonly