Difference Between C# Const and ReadOnly and Static
A clear comparison of const, readonly, and static in C#, explaining when to use each keyword.
The const Keyword
A const field must be assigned a value at declaration and that value is fixed at compile time, meaning it can never be changed afterward.
The readonly Keyword
A readonly field can be assigned either at declaration or inside a constructor, allowing its value to be set once at runtime and remain unchanged after that.
The static Keyword
The static keyword makes a member belong to the type itself rather than to any individual instance, so it is shared across all objects of that class.
Choosing the Right One
Use const for values known at compile time, readonly for values that depend on runtime logic but shouldn't change afterward, and static when a member should be shared across all instances.
.png)