Я позволю MSDN говорить здесь ...
"В C # 3.0 и более поздних версиях автоматически реализуемые свойства делают объявление свойства более кратким, когда в средствах доступа к свойствам не требуется дополнительная логика. Они также позволяют клиентскому коду создавать объекты. Когда вы объявляете свойство, как показано в следующем примере (см., например, статью MSDN), компилятор создает частное анонимное поле поддержки, к которому можно получить доступ только через методы доступа get и set свойства "
Вероятно, наиболее выгодным отличием является то, что вы можете сделать до / после проверки, поднять PropertyChanged
событий и т. Д.
Есть ли разница между определением поля как "public const" или определением его как свойства только для получения?
Да, поле только для получения должно иметь объявление частного поля. Это поле может быть изменено классом внутри, помечая поле как const, означает, что оно не может быть изменено.