Дом развитие Что такое неизменный тип? - определение из техопедии

Что такое неизменный тип? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает неизменный тип?

Неизменяемый тип в контексте C # - это тип объекта, данные которого нельзя изменить после его создания. Неизменяемый тип устанавливает свойство или состояние объекта только для чтения, поскольку его нельзя изменить после назначения во время инициализации.


Неизменяемые типы предназначены для эффективного управления памятью и повышения скорости, что делает их пригодными для объектов с требованиями синхронизации. Неизменность обеспечивает лучшую читаемость кода, внося изменения в видимость состояния программы и изолируя операции, которые изменяют состояние, от операций, которые этого не делают. Неизменяемые типы обеспечивают более высокую безопасность, чем изменяемые типы.


Неизменяемый тип используется там, где данные должны сохраняться после однократного назначения, но без каких-либо требований к изменению данных в будущем. Поскольку неизменяемые объекты не меняют своего состояния, они более полезны в многопоточных и многопроцессорных сценариях, поскольку несколько потоков могут читать или записывать объект, что может вызвать условия гонки и проблемы с синхронизацией.

Техопедия объясняет неизменный тип

Объекты неизменяемого типа могут быть созданы с использованием ключевых слов «const» и «только для чтения». В то время как readonly разрешает модификацию поля в конструкторе, const этого не делает. Числа, строки и нуль могут использоваться только в качестве константных полей, которые действительно неизменны. Readonly не является действительно неизменным, поскольку позволяет писать только один раз. Таким образом, это не постоянная времени компиляции, как поле const. Истинно неизменные объекты никогда не изменяют свое внутреннее состояние и поэтому по своей природе поточно-ориентированы.


Класс System.String - это неизменяемый ссылочный тип, предоставляемый в библиотеке классов платформы .NET. Этот класс создает новый строковый объект внутри для любого действия по обработке строки. Содержимое объектов этого типа не изменяется, хотя синтаксис заставляет его выглядеть так, как будто содержимое может быть изменено. Кроме того, строка используется в качестве ключа хеш-таблицы для вычисления хеш-значений, чтобы избежать риска повреждения структуры хеш-данных.


Основным недостатком неизменяемых типов является то, что они требуют больше ресурсов, чем другие типы объектов.

Это определение было написано в контексте C #
Что такое неизменный тип? - определение из техопедии