Незмінний тип

Автор: Lewis Jackson
Дата Створення: 8 Травень 2021
Дата Оновлення: 25 Червень 2024
Anonim
ДЕМОН - НОВИЙ ИНДИЙСКИЙ УЖАСНЫЙ ФИЛЬМ 2021 / СОВЕТУЮ ПОСМОТРЕТЬ!
Відеоролик: ДЕМОН - НОВИЙ ИНДИЙСКИЙ УЖАСНЫЙ ФИЛЬМ 2021 / СОВЕТУЮ ПОСМОТРЕТЬ!

Зміст

Визначення - Що означає тип Immutable?

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

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

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


Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

Техопедія пояснює незмінний тип

Об'єкти незмінного типу можна створити за допомогою ключових слів «const» та «readonly». Хоча readonly дозволяє змінювати поле в конструкторі, const цього не робить. Числа, рядки та null можуть використовуватися лише як поля const, які справді незмінні. Readonly не є справді незмінним, оскільки дозволяє писати лише один раз. Таким чином, це не константа часу компіляції, як поле const. По-справжньому незмінні об'єкти взагалі ніколи не змінюють свій внутрішній стан і тому по суті є безпечними для ниток.

Клас System.String - це незмінний тип посилань, що надається в бібліотеці базових класів .NET. Цей клас створює новий об'єкт рядка внутрішньо для будь-яких дій з маніпулювання рядком. Вміст об'єктів цього типу не змінюється, хоча синтаксис видає, що вміст можна змінити. Крім того, рядок використовується як ключ хеш-таблиці для обчислення значень хешу, щоб уникнути ризику пошкодження структури хеш-даних.

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


Це визначення було написано в кон. C #