What is the Difference between Readonly and Const in C# ?

If you want to have a field whose value cannot be changed at runtime , you can use either const or readonly keyword .

What is the Difference between ReadOnly and Const in C# ?

The constant fields must be defined when declaring and cannot be changed at runtime . It is a implicitly static .

The read only field can be set when declaring it and additionally it can also be set in the constructor as well but nowhere else.

Below is code snippet demonstrating the usage of the ReadOnly and Const in C# .

public class StaticData
{
  private const string AbundantCodeConst =" Static Variable demonstration";
  private readonly string AbundantCodeReadOnly;
  public StaticData ()
  {
    AbundantCodeReadOnly = "ReadOnly demonstration";
    // AbundantCodeConst cannot be set later
    // AbundantCodeConst = "Test";
  }
}
%d