为什么使用常量而不是静态属性?

时间:2017-07-28 10:42:31

标签: c#

在C#中,您可以像这样定义一个常量:

private const string Greetings = "Hello!";

稍后在代码而不是字符串" Hello!"你使用常数:

Console.WriteLine(Greetings);

但是,在此示例中,Greetings不必是常量才能正常工作。它也可以是静态属性:

private static string Greetings { get; } = "Hello!";

这为您提供了更大的灵活性:

  • 该属性可以是任何类型,不仅是编译时常量
  • 稍后您可以在getter中自由实现任何逻辑
  • 现代IDE(如VS)显示属性引用,方便

据我所知,常量比静态属性更快,因为正在编译的Console.WriteLine(Greetings)产生与Console.WriteLine("Hello!")完全相同的结果。

但人们经常使用常量来存储速度不是问题的许多事情,比如初始应用程序状态,或者微妙的开发人员。超时间隔等设置。

除了优化目的,我应该何时使用常量而不是静态属性?

0 个答案:

没有答案