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

Автор: Lewis Jackson
Дата создания: 8 Май 2021
Дата обновления: 1 Июль 2024
Anonim
Неизменный бог и вечная утопия Том 2 (II). Глава 1 (I)- Задания Архонтов Genshin Impact 2.0 Инадзума
Видео: Неизменный бог и вечная утопия Том 2 (II). Глава 1 (I)- Задания Архонтов Genshin Impact 2.0 Инадзума

Содержание

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

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

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

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


Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

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

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

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

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


Это определение было написано в кон C #