It is a compile-time constant. A field or local variable which is declared as constant can be initialized with a constant expression which must be fully evaluated at compile time.
You can mark Constants as public, private, protected, internal, or protected internal access modifiers. When to use
If you think that the value of field or local variable is never changed.
constint x = 10; constint y = 20; constint z = x + y; Console.WriteLine("The value of x :" + x); Console.WriteLine("The value of y :" + y); Console.WriteLine("The value of z :" + z);
int a = 15; constint b = x + a; Console.WriteLine("The value of b :" + b); //The variable 'a' is assigned but its value is never used
ReadOnly:-
It is same as Constant but it is run time constant. I mean to say that a ReadOnly field or local variable can be initialized either at the time of declaration or inside the constructor of same class. That is why we called it run time constant.
publicclass MyClassProgram { readonlyint x = 10; public MyClassProgram() { //changed the value in constructor x = 20; } }
As you know that we cannot declare Constant as static but we can do it for readonly explicitly. By default it is not static. It can be applied to value type and reference type [which initialized by using the new keyword)] both and also with delegate and event When to use
If you think, you need to change the value of variable or field at run time inside the calling constructor, then you need to use the readonly modifier.
Markdown for AI
A clean, structured version of this page for AI assistants and LLMs.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
When to use
If you think that the value of field or local variable is never changed.
As you know that we cannot declare Constant as static but we can do it for readonly explicitly. By default it is not static. It can be applied to value type and reference type [which initialized by using the new keyword)] both and also with delegate and event
When to use
If you think, you need to change the value of variable or field at run time inside the calling constructor, then you need to use the readonly modifier.