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

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

Índice:

Anonim

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

O tipo mutável, em C #, é um tipo de objeto cujos membros de dados, como propriedades, dados e campos, podem ser modificados após sua criação.


Tipos mutáveis ​​são usados ​​em aplicativos paralelos, onde os objetos do tipo de valor mutável são mantidos na pilha pelo Common Language Runtime (CLR). Isso fornece alguma otimização, o que o torna mais rápido que os objetos alocados por heap. Para impedir que erros de sincronização ocorram em aplicativos paralelos devido a vários threads acessando os dados compartilhados, tipos mutáveis ​​são usados ​​com algum tipo de mecanismo de bloqueio.


Devido à sua natureza inerente, os dados do tipo mutável podem ser modificados durante o tempo de execução; portanto, o tipo mutável é frequentemente usado quando o objeto contém uma grande quantidade de dados alteráveis. Embora o tipo mutável não seja tão seguro quanto ao segmento imutável, ele é usado com mais frequência com variáveis ​​do tipo value, que são alocadas na pilha, melhorando o desempenho.

Techopedia explica Tipo Mutável

Todos os tipos de valores internos, como int, double, etc., são tipos mutáveis ​​e podem ser imutáveis ​​adicionando o modificador "somente leitura" antes das variáveis. Se um tipo de referência mutável for especificado com um modificador somente leitura, o compilador C # gerará um aviso. Ao adicionar um modificador somente leitura a um campo do tipo de referência, o campo não pode ser substituído por outra instância do tipo de referência, mas permitirá que os dados da instância do campo sejam modificados por meio do tipo de referência.


Por exemplo, StringBuilder é um tipo de referência mutável na biblioteca do .NET framework, através da qual o valor da string de uma instância criada fora desse tipo pode ser modificado anexando, removendo, substituindo ou inserindo caracteres.


Um tipo mutável não deve ser derivado de um tipo imutável, pois existe a possibilidade de um método virtual na classe derivada substituí-lo, de modo que os membros imutáveis ​​sejam substituídos.


A principal limitação do tipo mutável é que, ao passar um objeto do tipo mutável (como struct) através da atribuição de uma variável local ou como parâmetro a um método, o valor do objeto é transferido e não o próprio objeto. Por isso, a cópia do objeto é modificada e não o original. Esse comportamento pode levar a erros inesperados.

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