Это своего рода вопрос нуба. У меня есть простое свойство
bool IsRoot { get { return parent==null; } }
, который я вызываю много раз из других свойств и методов класса (и производных классов)
Мне нравится держать его таким, потому что он делает код читабельным (для меня), но я боюсь, что все вызовы IsRoot
замедлят меня, так как они могут не быть "встроенными" в финальной версии код. Под «встроенным» я подразумеваю то, что они заменяются копией parent==null
оценки вместо get_IsRoot()
.
Может ли кто-нибудь объяснить мне, когда (или если) свойства встроены в C # и для приложений, ориентированных на производительность, следует ли избегать свойств или нет?
EDIT_1 :
Краткий ответ: свойства переводятся в чистые вызовы функций, и они могут или не могут быть встроены в зависимости от того, что решает JIT. Доверяйте системе, чтобы она делала правильный выбор, и не беспокойтесь о вещах, которые могут повлиять на вещи на уровне 5-10%, если только не используется профилировщик и конечный результат не настроен на производительность.
Спасибо за ссылки SO сообщества, и я надеюсь, что был способ наградить несколько правильных ответов. Извините, я должен был выбрать один.