Будинки Розвиток Що таке мутаційний тип? - визначення з техопедії

Що таке мутаційний тип? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає мутабельний тип?

Тип змінних у C # - це тип об'єкта, члени даних, такі як властивості, дані та поля, можуть бути змінені після його створення.


Типи змінних використовуються в паралельних програмах, де об'єкти типу змінних значень підтримуються в стеці загальною мовою виконання (CLR). Це забезпечує деяку оптимізацію, яка робить її швидшою, ніж об'єкти, виділені з купи. Щоб запобігти виникненню помилок синхронізації в паралельних програмах через те, що багато потоків отримують доступ до спільних даних, використовуються мутабельні типи з певним механізмом блокування.


Завдяки своїй властивій природі дані, що змінюються, можуть змінюватися під час виконання, тому тип мутації часто використовується, коли об'єкт містить велику кількість змінних даних. Хоча тип мутації не такий безпечний для потоків і безпечний, як незмінний тип, він частіше використовується зі змінними типу значень, які виділяються у стеку, покращуючи продуктивність.

Техопедія пояснює мутабельний тип

Усі вбудовані типи значень, такі як int, double та ін., Є типами, що змінюються, і їх можна зробити незмінними, додавши модифікатор "тільки для читання" перед змінними. Якщо тип посилання, що змінюється, вказаний з модифікатором, який читається тільки зараз, компілятор C # генерує попередження. Додавши модифікатор, що зчитується, до поля еталонного типу, поле не може бути замінено іншим екземпляром еталонного типу, але дозволить змінити дані екземпляра поля через тип посилання.


Наприклад, StringBuilder є змінним еталонним типом у бібліотеці .NET Framework, завдяки якому рядкове значення екземпляра, створеного з цього типу, може бути змінено шляхом додавання, видалення, заміни чи вставки символів.


Змінний тип не повинен бути похідним від непорушного типу, оскільки існує можливість віртуального методу у похідному класі перекрити його таким чином, щоб незмінні члени були перезаписані.


Основне обмеження мутаційного типу полягає в тому, що під час передачі об'єкта мутабельного типу (наприклад, структура) через присвоєння локальній змінної або як параметр методу значення об'єкта передається, а не сам об’єкт. Цим самим копія об'єкта мутується, а не оригінал. Така поведінка може призвести до несподіваних помилок.

Це визначення було написано в контексті C #
Що таке мутаційний тип? - визначення з техопедії