Ключевое слово readonly – это модификатор, который можно использовать только для полей.

Если созданное поле содержит модификатор readonly, присвоить значение такому полю можно только непосредственно в месте создания или в конструкторе в того же класса.
Ключевое слово readonly отличается от ключевого слова const тем, что поле с модификатором const может быть инициализировано только при создании поля. Поле с модификатором readonly может быть инициализировано при создании или в конструкторе. Следовательно, поля с модификатором readonly могут иметь различные значения в зависимости от использованного конструктора.
Также поля readonly – это полноценные поля в отличии от полей-const.