Tipos de dados por valor e por referência

Podemos armazenar variáveis por valor e por referência. Explicamos o que significa cada um e as maneiras que .NET realiza este armazenamento.

Por Francisco Recio e David Provencio


Publicado em: 30/3/08
Valorize este artigo:
Tipos por valor: os tipos por valor armazenam dados aos que se pode acessar de forma direta, por sua vez dentro desta categoria encontramos mais subcategorias como os tipos nativos de .NET, os tipos de dados criados pelo programador e os enumerados. Os tipos por valor não podem ter valores nulos.

Tipos por referência: Os tipos criados por referência armazenam o endereço de memória em que se encontra um dado determinado de maneira que usaremos esse endereço de memória para acessar de forma indireta ao dado. Os tipos por referência se dividem em vários subgrupos como são as classes próprias da plataforma, interfaces, classes criadas pelo programador, etc.


Quando executamos uma aplicação é necessário que os dados se situem na memória do computador, a qual está divida em duas partes, uma chamada Stack, de pequeno tamanho, porém de acesso muito rápido e outra chamada Heap que conta com um maior tamanho, mas como uma velocidade de acesso inferior.

Quando criamos tipos por valor, o valor da variável deste tipo se armazena no Stack, se atribuímos uma variável destas características a outra, se cria uma cópia no Stack. Ao destruir um tipo por valor, se destrói também o valor que se salvou no Stack.
Quando criamos um tipo por referência, na verdade o que salvamos no Heap é um endereço de memória que aponta a um valor, porém não ao valor em si mesmo. Se atribuímos uma variável que contém um tipo por referência a outra variável, se diz que ambas se referem ao mesmo valor. Os tipos por referência podem conter valores nulos.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato