const 和 readonly C#和有什么不一样?
const
readonly
您什么时候可以使用另一个?
除了明显的区别
static
ClassName.ConstantName
有细微的差别。考虑在中定义的类AssemblyA。
AssemblyA
public class Const_V_Readonly { public const int I_CONST_VALUE = 2; public readonly int I_RO_VALUE; public Const_V_Readonly() { I_RO_VALUE = 3; } }
AssemblyB``AssemblyA在代码中引用并使用这些值。编译后,
AssemblyB``AssemblyA
AssemblyB
I_CONST_VALUE
ref
I_RO_VALUE
因此,如果您确信常量的值不会改变,请使用const。
public const int CM_IN_A_METER = 100;
但是,如果您有一个可能会更改的常量(例如,精度),或者有疑问,请使用readonly。
public readonly float PI = 3.14;
更新:Aku需要得到提及,因为他首先指出了这一点。 另外,我需要在我学到的知识上加点文字。. 有效的C#-Bill Wagner