Size: a a a

2021 January 18

AT

Anton Ternavsky in F# Chat
ты пример же привел для DU с несколькими типами
источник

AT

Anton Ternavsky in F# Chat
Холивар короче :) Я пока же на таком варианте компоновки остановлюсь, а там посмотрим
источник

AT

Anton Ternavsky in F# Chat
Vladimir Shchur
на это могу предложить скачать пдф История Фшарпа от Сайма)
Посмотрел dotPeek, оно и без struct делает Position от ValueType
источник

AT

Anton Ternavsky in F# Chat
Разница только в том, что при последнем варианте компонует явной парой в Item
источник

AT

Anton Ternavsky in F# Chat
А это предыдущий вариант
источник

VS

Vladimir Shchur in F# Chat
ничоси
источник

AT

Anton Ternavsky in F# Chat
Vladimir Shchur
ничоси
Ну логично же, я ж все таки явно пристегнул [<Struct>] к Position
источник

AT

Anton Ternavsky in F# Chat
я думаю если атрибут убрать, то без struct Position станет классом, а если сделать Position of struct - то опять будет структурой, но проверять пока лень, т.к. вроде сюрпризов не должно, кроме второго случая, мало ли :)
источник

VS

Vladimir Shchur in F# Chat
источник

VS

Vladimir Shchur in F# Chat
источник

AT

Anton Ternavsky in F# Chat
фаршик топ :)
источник

AT

Anton Ternavsky in F# Chat
достаточно посмотреть на объем кода слева и справа :)
источник

VS

Vladimir Shchur in F# Chat
Anton Ternavsky
фаршик топ :)
но блин, это опасно) представь что у тебя структурный DU из двадцати здоровых структур, и каждый раз когда ты будешь один из кейсов юзать, будут создаваться все двадцать остальных)
источник

AT

Anton Ternavsky in F# Chat
Vladimir Shchur
но блин, это опасно) представь что у тебя структурный DU из двадцати здоровых структур, и каждый раз когда ты будешь один из кейсов юзать, будут создаваться все двадцать остальных)
Ну я очень хорошо выдрессирован шарпом и задачами, что на нем решаю-помнить о том, что происходит под капотом
источник

AT

Anton Ternavsky in F# Chat
Хотя кто-то может и упороться, если понасует толпу элементов DU в struct DU
источник

R

Roman in F# Chat
потому что структуры не могут в наследование
источник

AT

Anton Ternavsky in F# Chat
Roman
потому что структуры не могут в наследование
Ога, vtable, syncRoot и прочих причиндалов у структур нет
источник

R

Roman in F# Chat
там из-за массивов вроде
источник

AT

Anton Ternavsky in F# Chat
Roman
там из-за массивов вроде
Не, изначально идеология такая была, для удобства маршалинга struct завезли, C# же из коробки с PInvoke зашибись работал в винде с самых первых версий, а без struct это ПЦ геморрно залепить
источник

R

Roman in F# Chat
типа живут на стеке, а наследник больше памяти может занимать. В итоге не получается равномерно выделить память под ячейки массива
источник