из другого объекта.
Или лучше использовать копию ссылки?
Если у меня есть List в одном объекте, и его надо супер много где использовать из другого объекта, в котором он уже определён как поле.
Эффективнее назначать это поле через Property = Object.List
То есть создавать отдельный экземпляр ссылки.
Или делать через Геттер Get Property => Object.List?
Тут написано что разницы нет. Хотя всё же там прямая ссылка, а у меня на объект..
https://stackoverflow.com/a/9843264
Там и так копия ссылки
Но там ведь получается 2 обращения, сначала к самому свойству, потом к полю объекта. При List Objects => Object.List; В отличии от List Objects { get; set; } Или List Objects;
это точно самое узкое место у вас?
Нет, это простой вопрос, который много где применяется. В больших масштабах, если не сделать правильно, может повредить. Этим решается другое узкое место. Много объектов должны очень часто обращаться к свойству одного объекта.
» В больших масштабах, если не сделать правильно, может повредить. мне кажется, что нет.
Так вот в этом сообщении же он и описан. Есть объект Object, в нём List, и много других объектов много где должны использовать ссылку из него. При том что раньше у каждого объекта было своё свойство, а теперь надо что бы использовалось одно общее, из одного объекта.
если вам так важно, вы можете написать бенчмарк с BenchmarkDotNet
Так, там разница очень мала
Но если даже от неё можно избавиться всего 1 принципом, то почему бы и нет?
Заменой свойства на поле?
Созданием копии ссылки, что бы в свойстве (после компиляции - поле) лежала прямая ссылка на массив(List), а не обращение сначала к объекту, а потом к его свойству.
Пихни в локальную переменную
Пушо это может запутывать читателя например а выхлоп минимальный
вы не поверите, но это одно и то же.
Я уже это говорила в другом контексте но я сплю и вижу как это офигенно сказывается на летенси по сравнению с запросами в базку и хттп))
Не сказывается, проверено опытным путем в том числе))
Джит такое может заинлайнить на n-ой итерации. В общем BenchmarkDotNet в руки. Все будет ясно
Обязательно буду практиковаться и привыкать в ближайшее время. Решит огромное количество вопросов. Буду экспериментировать со всем.
Зачем Switch с Dictionary сравнивать, Разные сценарии использования . Вот посмотри. может после прочтения Stephen много вопросов отпадет
Оказывается внутри и так switch в Dictionary превращается. 👌
https://github.com/microsoft/referencesource/blob/master/mscorlib/system/collections/generic/dictionary.cs
Кажись, это не .Net Core
Это к чему? 🧐
ладно, проехали
Обсуждают сегодня