Size: a a a

2020 April 17

S

Sergey Trofimov in CODE BLOG / C#
Макс Руднев
я пытаюсь понять для каких целей это вообще было сделано
Структуры не изменяемые потому что
источник

S

Sergey Trofimov in CODE BLOG / C#
Когда ты работаешь со структурой, она копируется, чтобы соблюсти иммутабельность
источник

МР

Макс Руднев... in CODE BLOG / C#
чел, я не против, я ток не пойму зачем они вызывают диспоуз на копии структуры
источник

МР

Макс Руднев... in CODE BLOG / C#
да, я чекал
источник

МР

Макс Руднев... in CODE BLOG / C#
Переслано от Sergey Benzenko
Да, там действительно копия будет. Логика какбэ в том, что компилятор "на всякий случай" копирует структуры при передаче во всякие такие блоки типа using, foreach и т.п. Вот тут Тепляков разбирает это.
http://sergeyteplyakov.blogspot.com/2012/12/2.html
источник

МР

Макс Руднев... in CODE BLOG / C#
я понял ЧТО они делают, но я чет не пойму зачем они так поступают со структурой
источник

SB

Sergey Benzenko in CODE BLOG / C#
Макс Руднев
чел, я не против, я ток не пойму зачем они вызывают диспоуз на копии структуры
Давайте начнём с того, зачем делать структуру Disposable.
И уж точно, задавать такие вопросы на собесе будут только совсем конченые говнари, потому что знать такие тонкости наизусть просто нереально, если только один из десяти тысяч человек реально с этим когда-нибудь не сталкивался.
источник

S

Sergey Trofimov in CODE BLOG / C#
Sergey Benzenko
Давайте начнём с того, зачем делать структуру Disposable.
И уж точно, задавать такие вопросы на собесе будут только совсем конченые говнари, потому что знать такие тонкости наизусть просто нереально, если только один из десяти тысяч человек реально с этим когда-нибудь не сталкивался.
Комент теплякова с хабра ))
источник

МР

Макс Руднев... in CODE BLOG / C#
ну согласен конечно
источник

МР

Макс Руднев... in CODE BLOG / C#
полностью
источник

МР

Макс Руднев... in CODE BLOG / C#
но все-таки интересно почему
источник

SB

Sergey Benzenko in CODE BLOG / C#
Макс Руднев
но все-таки интересно почему
Ну Тепляков правильно расписал. Чтобы неизменность сохранить. А чтобы этого избежать, в 7й версии сделали readonly структуры, которые не копируются, если ты "обещаешь" компилятору, что не будешь их изменять.
источник

МР

Макс Руднев... in CODE BLOG / C#
о как
источник

S

Sergey Trofimov in CODE BLOG / C#
главное в этом вопросе понимать - что работать со структоурой нужно как readonly только (ну поля сделать ридонли) и инициализировать в конструкторе
источник

S

Sergey Trofimov in CODE BLOG / C#
иначе шанск выстрелить в ногу крайне велик
источник

МР

Макс Руднев... in CODE BLOG / C#
ну получается  конкретно на этом коде не получится ридонли структуру сделать
источник

МР

Макс Руднев... in CODE BLOG / C#
потому что метод диспоуз в данном случае меняет значение приватной переменной
источник

МР

Макс Руднев... in CODE BLOG / C#
ну лан, спасибо за наставления хотяб
источник

T

Troloffon in CODE BLOG / C#
источник

T

Troloffon in CODE BLOG / C#
Ребят как переделать этот код так чтобы содержимое файлов менялось местами а не копировалось
источник