Здравствуйте, Sinix, Вы писали:
EP>>ВотАвтор: Evgeny.Panasyuk
Дата: 23.03.16
— там два момента.
S>А, ну как и было сказано — иногда больше работы не значит лучше.
S>Специально засёк время — 10 минут на код ушло. Блин, но оформление ответа больше потрачу, наверно
S>Для структур соотношение:
Мы же в данном контексте не производительность перегрузок и т.п. обсуждаем, а разную семантику reference/value, которую нужно обрабатывать отдельным кодом. Я ссылку привёл именно на ветку о семантике.
EP>>Не прям такое, а уменьшение ветвления по памяти в общем.
EP>>То есть например есть класс, он агрегирует другие объекты других классов, те в свою очередь аггрегируют далее. Получается дерево. В большинстве случаев размазывать все под-объекты по памяти не требуется, и достаточно "плоского" "inline"-хранения. На C# структуры имеют ряд ограничений, и по факту многие под-объекты будут классами, даже те которые по смыслу могли быть "inline".
S>Есть у меня подозрение, что достаточно передать ссылку на "вложенный" объект за пределы класса (или просто вытащить её рефлексией), чтобы обломать всю красоту.
Да, но я говорю о том что в большинстве случае ничего подобного не происходит.