vassilych / cscs

CSCS: Customized Scripting in C#
MIT License
166 stars 47 forks source link

Added a comparison of custom classes by value #35

Closed stv233 closed 1 year ago

stv233 commented 1 year ago

Приветствую, Василий.

Я изучил сравнение экземпляров классов созданных непосредственно через cscs и в текущем варианте оно работает так, как я и ожидал. 'stock1 == stock2' вернёт true только в том случае, если 'stock2 = stock1' поскольку только в этом случае переменные ссылаются на одну область памяти, что и является равенством по умолчанию для классов в C#. Я доработал класс класса cscs, чтобы сравнение проводилось, в первую очередь, по значению. Думаю это может быть уместно для cscs, поскольку в нем нет понятия структуры, которая является значимым типом. А для определения, является ли переменные ссылкой на один и тот же объект можно обратиться к методу ReferenceEquals.

Михаил.

vassilych commented 1 year ago

Михаил, большое спасибо за имплементацию! Завтра протестирую, но выглядит хорошо. Василий

On Mon, Nov 28, 2022 at 10:49 PM Mikhail Glazatov @.***> wrote:

Приветствую, Василий.

Я изучил сравнение экземпляров классов созданных непосредственно через cscs и в текущем варианте оно работает так, как я и ожидал. 'stock1 == stock2' вернёт true только в том случае, если 'stock2 = stock1' поскольку только в этом случае переменные ссылаются на одну область памяти, что и является равенством по умолчанию для классов в C#. Я доработал класс класса cscs, чтобы сравнение проводилось, в первую очередь, по значению. Думаю это может быть уместно для cscs, поскольку в нем нет понятия структуры, которая является значимым типом. А для определения, является ли переменные ссылкой на один и тот же объект можно обратиться к методу ReferenceEquals.

Михаил.

You can view, comment on, or merge this pull request online at:

https://github.com/vassilych/cscs/pull/35 Commit Summary

File Changes

(1 file https://github.com/vassilych/cscs/pull/35/files)

Patch Links:

— Reply to this email directly, view it on GitHub https://github.com/vassilych/cscs/pull/35, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE74VFHCUE2UR26QWKIITF3WKUSE3ANCNFSM6AAAAAASNZNDMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>