Основная особенность типов значений заключается в том, что они копируются, а не передаются по ссылке.
Если у вас есть тип значения и метод доступа, по существу, у вас есть тип значения, возвращаемый методом, который вызывает копию (следующие два примера одинаковы):
ValueType Property { get { return x; } } // Will make a copy of x
ValueType Method() { return x; } // Will make a copy of x
Если вы теперь присваиваете возвращаемое значение, вы присваиваете копию из x. Поэтому любые изменения, внесенные в значение, возвращаемое из свойства, будут немедленно потеряны.
Когда вы удаляете {получить; } accessor, теперь у вас есть основное поле, например ::
int field;
или
ValueType field;
Что означает, что копия не сделана, что означает, что при назначении полю вы больше не назначаете копию.