多少就是太多的常量



我想问一个关于常量的问题,我知道这方面的方法或建议,但最近我被分配到一个项目,在该项目中,以前的开发人员使用的是SQL DB和C#类中都存在的资源键,而在项目中使用重复的魔术串…非常令人难过,从字面上看,成千上万的魔术串(我吐在嘴里)

因此,我创建了一个简单的sql来提取和创建每个资源键的变量声明,并简单地粘贴到目标内部密封类中。大约有4000个密钥,分成大约7组,所以每个类大约有500多个资源密钥。

现在,另一位开发人员告诉我,在加载所有这些密钥时,我担心性能,老实说,我对此一无所知,但我相信这应该不是什么大问题。

真的有这么多常量吗?

提前感谢

从编译器的角度来看,常量非常无聊。C#编译器只需在输出程序集中嵌入所有带有常量的类,并将常量的任何用法与实际值交换:例如

class C { public const T = "T" } 
...
Console.WriteLine(C.T);

将被编译为:

class C { public const T = "T" } 
...
Console.WriteLine("T");

假设没有动态代码,Jitter甚至不会在运行时查看常量类,因此性能影响实际上是可以忽略的。

从编译器和运行时的角度来看,4000常量的使用是微不足道的,而不是性能问题。大型应用程序可能有这么多,甚至更多,分布在它们之间。

最新更新