What is the Difference between read only and constant
variables?
Answers were Sorted based on User's Feedback
Answer / sandya
Constant fields or local variables must be assigned a value at the time of declaration and after that they cannot be modified. By default constant are static, hence you cannot define a constant type as static.
A const field is a compile-time constant. A constant field or local variable can be initialized with a constant expression which must be fully evaluated at compile time.
public const int X = 10;
A readonly field can be initialized either at the time of declaration or with in the constructor of same class. Therefore, readonly fields can be used for run-time constants.
class MyClass
{
readonly int X = 10; // initialized at the time of declaration
readonly int X1;
}
public MyClass(int x1)
{
X1 = x1; // initialized at run time
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / bharathi
Constants:
constant is used for declaring variable as constant and this constant value cannot be modified once after declartration.
It is must to declare the constant value at the time of declaration only.
Example:
constant int y=5;
Readonly
Readonly variables can not be modified like constant,but it is after initialization.
So.it is not mandatory to initialize those variables at declaration time.they can also be initialize after declaration.
Example:
readonly int x;
add()
{
x=5;
}
Both after initilization, we can not modify those values again.
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / isaiselvan
readonly assign a value at run time but we can assign a declaration part.
const values assign only at declaration part.
Is This Answer Correct ? | 2 Yes | 3 No |
Answer / zia khan
The difference between the readonly and const data members
is that const requires you to initialize with the
declaration, that is directly
Is This Answer Correct ? | 4 Yes | 6 No |
What is default class in c#?
What is private variable?
What type of data type conversion happens when the compiler encounters the following code?
Is int an object in c#?
What are tuples c#?
What is ControlBox Propertie
Why are there five tracing levels in System.Diagnostics.TraceSwitcher?
What's difference between constants and static readonly?
What is the use of main method in c#?
Explain the functionalities of satellite assembly?
Name some string escape sequences in c#.
What is an escape sequence?