Constant Static ReadOnly vs Const
Sr.No
|
public static
readonly int iCentury=100;
|
public const int iCentury=100;
|
1
|
Runtime Constant
|
Compile Time
Constant
|
2
|
Can intialize
integral, floating ,string enum and NEW operator.
private static
readonly DateTime _aheadOfMyTime=
new
DateTime(2050,1,1,0,0,0);
|
Compile Time is
eventually assigned with literals and can only be used with primitive
datatype such as built in integral, floating point type,enum string. You can
initialize compile time with new operator. They are limited to numbers and
strings value
|
3
|
Unlike Const bit of
performance overhead.
|
Better Performance
and more efficient
|
4
|
Client A=>
Assembly A[static readonly iCentury]
Client B=>
Assembly A[Static readonly iCentury]
IL generated for
client A and B will have reference readonly variable[iCentury] not value
|
Client A=>
Assembly A[const iCentury]
Client B=>
Assembly A[const iCentury]
IL generated for
client A and B will have values of const not
reference Variable
|
5
|
In terms of maintenance purpose readonly is more
appropriate as client is not required to be compiled only assembly is
compiled.
|
Whereas const
require all assembly and dependent client to be build and compiled for each
release
|
6
|
This is more
suitable if constant is prone to change for each release
|
Not viable if
constant value is changing for each release.
|
No comments :
Post a Comment