int a { get; }
Свойство только для чтения: можно записать только в конструкторе или инициализаторе, а в методах класса и других способах нельзя изменить.
int a { get; private set; }
Свойство только для чтения снаружи класса: можно записать только внутри класса - в конструкторе, методе и в остальных способах.