Зачем использовать поля, если есть свойства? - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую. Объясните новичку: для чего нужно использовать поля, если есть такая штука, как свойства? Попробую добавить конкретики. Есть вариант использовать приватное поле + два метода (геттер+сеттер):
        private int variable;
        public int getVariable()
        {
            return variable;
        }
        private void setVariable(int newVariable)
        {
            variable = newVariable;
        }
Есть вариант использовать приватное поле + свойство:
        private int variable;
        public int Variable
        {
            get
            {
                return variable;
            }
            private set
            {
                variable = value;
            }
        }
И есть вариант использовать только свойство:
        public int Variable { get; private set; }
Появляется совершенно очевидный вопрос: зачем использовать первые два варианта, если последний куда как короче и яснее? Да, работа с полями может быть быстрее, но имеет ли это большое значение при работе на современном железе и, в конце концов, с языком С# (не чистый Си, ориентированный на скорость)? На всякий случай, чтобы предотвратить недопонимание: я не знаю, почему и в каких случаях первые два варианта могут оказаться выгодными и совершенно ничего не утверждаю. Я хочу изучить язык и прошу помощи

Решение задачи: «Зачем использовать поля, если есть свойства?»

textual
Листинг программы
class foo{
private: 
       int FBar;
protected:
       void SetBar(int aBar){ 
            //SetterCode here
       };
public:
        __property int Bar={read=FBar, write=SetBar}; // при чтении оверхед отсутствует, а при записи его не избежать по логике задачи
     
};

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы