The difference is that static read-only can be modified by the containing class, but const can never be modified and must be initialized to a compile time constant. To expand on the static read-only case a bit, the containing class can only modify it:
-- in the variable declaration (through a variable initializer).
-- in the static constructor (instance constructors if it's not static).
both are used to define constants in the program..difference is that 'const' is evaluated at compile time..where as readonly will be evaluated at runtime.