Я новичок в С#, и я думаю, что это замечательная вещь. Настолько замечательно, что я не вижу реального преимущества использования полей. Даже для частных полей, похоже, гибкость и модульность, которые предлагают предложения, в лучшем случае избавят вас от серьезных головных болей и в худшем случае не будут иметь никакого эффекта.
Единственное преимущество, которое я могу видеть для полей, заключается в том, что вы можете инициализировать их inline. Но в большинстве случаев вы хотите инициализировать их в конструкторе. Если вы не используете встроенную инициализацию, есть ли причина постоянно не использовать свойства?
Изменить: некоторые люди объясняют необходимость создания резервных копий свойств с помощью полей (явно или автоматически). Позвольте уточнить мой вопрос: есть ли причина использовать поля, кроме резервных свойств? I.e., есть ли когда-либо SomeType someField;
предпочтительнее SomeType SomeProperty { get; set; }
?
Отредактируйте 2: DanM, Skurmedel и Seth все дали действительно полезные ответы. Я принимал DanM, так как он является самым полным, но если кто-то должен был обобщить свои ответы на один ответ, я был бы рад принять его.