Const字段或获取属性

Ale*_*dre 24 c#

第一个和第二个定义之间有什么区别?

//1
private static string Mask
{
   get { return "some text"; }
}

//2 
private const string Mask  = "some text"; 
Run Code Online (Sandbox Code Playgroud)

第一种和第二种方法有哪些好处?

Alb*_*nbo 12

只要它们是私有的,它们可能会被优化为或多或少相同的代码.如果它们是公开的并且从其他集合中使用,那么它是另一个故事.

const变量将使用const表达式替换/内联在其他程序集中.这意味着const如果更改表达式,则需要使用表达式重新编译每个程序集.另一方面,属性解决方案将在每次使用时为您提供方法调用开销.