Lar Desenvolvimento O que é o tipo imutável? - o que é techopedia

O que é o tipo imutável? - o que é techopedia

Índice:

Anonim

Definição - O que significa Tipo Imutável?

Um tipo imutável, no contexto de C #, é um tipo de objeto cujos dados não podem ser alterados após sua criação. Um tipo imutável define a propriedade ou o estado do objeto como somente leitura, porque não pode ser modificado após ser atribuído durante a inicialização.


Os tipos imutáveis ​​são projetados para gerenciamento eficiente de memória e melhor velocidade, o que os torna adequados para objetos com requisitos de sincronização. A imutabilidade fornece melhor legibilidade do código, fazendo alterações na visibilidade do estado do programa e isolando as operações que mudam de estado daquelas que não o fazem. Tipos imutáveis ​​fornecem segurança mais alta que tipos mutáveis.


Um tipo imutável é usado onde os dados devem persistir após serem atribuídos uma vez, mas sem nenhum requisito para que os dados sejam alterados no futuro. Como objetos imutáveis ​​não alteram seu estado, eles são mais úteis em cenários de vários segmentos e processos, pois vários threads podem ler ou gravar um objeto, o que pode causar condições de corrida e problemas de sincronização.

Techopedia explica Tipo Imutável

Objetos do tipo imutável podem ser criados com o uso das palavras-chave "const" e "readonly". Enquanto readonly permite a modificação de um campo dentro do construtor, const não. Números, strings e null podem ser usados ​​apenas como campos const, que são realmente imutáveis. O Readonly não é verdadeiramente imutável porque permite escrever apenas uma vez. Portanto, não é uma constante em tempo de compilação como o campo const. Objetos verdadeiramente imutáveis ​​nunca alteram seu estado interno e, portanto, são inerentemente seguros para threads.


A classe System.String é um tipo de referência imutável fornecido na biblioteca de classes do .NET framework. Essa classe cria um novo objeto de cadeia internamente para qualquer ação de manipulação de cadeia. O conteúdo de objetos desse tipo não muda, embora a sintaxe faça com que apareça como se o conteúdo pudesse ser alterado. Além disso, string é usada como chave da tabela de hash para o cálculo dos valores de hash para evitar o risco de corromper a estrutura de dados do hash.


A principal desvantagem dos tipos imutáveis ​​é que eles requerem mais recursos do que outros tipos de objetos.

Esta definição foi escrita no contexto de C #
O que é o tipo imutável? - o que é techopedia