C#静态变量的使用,我们是如何的呢?下面就说一下具体的C#静态变量使用心得,对于在定义常量的时候,到底是用const来定义还是readonly来定义。在此书中,提到了一个关于使用const会产生潜在的bug。
就是在程序中使用DLL类库某个类的静态常量时,如果在类库中修改静态常量的值,其它接口没有发生变化,一般来说,程序调用端是不需要重新编译,直接执行就可以调用新的类库。不过就是在此情况下,会产生潜在的bug。这是由于静态常量在编译的时候,是用它的值去替换常量,因此在调用端的程序也是这样进行替换的。
C#静态变量的使用实例:
在类库中定义了一个静态常量,如下:
- public const int MAX_VALUE = 10;
那么对于程序中调用此静态常量这段代码,在编译后产生的中间语言代码中,是用10来进行替换,即使用静态常量的地方,改为10了。
那么当类库的静态变量发生变化后,例如:
- public const int MAX_VALUE = 15;
C#静态变量的使用的总结:
那么对于调用端程序是可以在没有重新编译的情况下进行运行,不过此时程序的中间语言代码对应于C#静态变量的值是10,而不是新类库中的15。因此这样产生的不一致,程序会引发潜在的bug。解决此类问题的方法,就是调用端程序在更新类库之后重新编译一下,即生成新的中间语言代码。
C#静态变量的一些使用的心得就向你介绍到这里,希望对你了解和学习C#静态变量的使用有所帮助。
【编辑推荐】