C#常数-笔记记录分析
C#常数-笔记记录分析
定义一个常数符号时,我们必须能够在编译时确定它的值。
。编译器将常数的值保存在其定义模块的元数据内。这意味着“常数的类型只能是那些编译器认识的基元类型。”
(C# 中的基元类型:Boolean,Char,Byte, SByte, Decimal, Int16,UInt16,Int32,UInt32, Int64,UInt64, Single, Double,String)
常数的值是直接嵌入到代码中的,所以常数在运行时不需要任何的内存分配。另外,我们也不能获得常数的地址。或者以饮用的方式来传递一个常数。
--问题:如果在一个Dll中设定了一个常数,同时在另外的程序集中调用了此常数的话(假设常数=50)。有两种情况要注意的:
1。在程序集编译完成后,先前引用的DLL甚至可以删掉,也不影响程序集的运行--即常数被嵌入程序集的代码中了。
2。在DLL中,把常数改为1000,并重新编译该DLL,而程序集的运行不会受到印象,它使用的常数值还是=50,直至把程序集也重新编译后,才获得新的数值。