У меня есть свойство с резервным полем и некоторой логикой внутри установщика. Интересно, следует ли мне использовать ключевое слово value
или вспомогательное поле.
Вариант 1:
private bool _backingField;
public bool MyProperty
{
get => _backingField;
set
{
_backingField = value;
if(value) // <--
{
...
}
}
}
Вариант 2:
private bool _backingField;
public bool MyProperty
{
get => _backingField;
set
{
_backingField = value;
if(_backingField) // <--
{
...
}
}
}
У кого из них лучше производительность? Тесты, которые я провел на своей машине, не показали существенной разницы, но я не уверен, что моей машины достаточно, чтобы получить полную картину.
Примечание. Я понимаю, что это, вероятно, выводит микрооптимизацию на совершенно новый уровень смехотворности, но мне все еще любопытно узнать, есть ли окончательный ответ.
Изменить: этот вопрос не основан на мнении, так как я спрашиваю, есть ли объективная разница.
value
предпочтительнее, но производительность - глупый критерий. - person Sinatr   schedule 14.08.2019value
является параметром, доступ к полям должен быть синхронизирован. Поле чтения может вернуть другое значение, чем вы только что установили. - person Sinatr   schedule 14.08.2019