A const will be optimized by the compiler, which will be embedded in your code, but cannot be embedded in readonly. However, you cannot create constants of all types, so here you should make them read-only.
So, if you need a constant value in your code, you should first use a constant, if possible, if not then read only, so that you can have security, but not efficiency.
As an example:
public class Example { private const int foo = 5; private readonly Dictionary<int, string> bar = new Dictionary<int, string>();
source share