Está en la página 1de 2

Diferena entre Value Type e

Reference Type
22 DE AGOSTO DE 2015/DEVINSHARPER

As vezes quando estamos codificando nossas aplicaes, no nos preocupamos em


estudar alguns conceitos relacionados a tipos de dados que iremos utilizar para declarao
de variveis em nossas linhas de cdigo. Isso pode acontecer pelos mais variados
motivos, desde a falta de tempo ou mesmo conhecimento dos benefcios que uma
pesquisa a fundo no assunto pode trazer e consequentemente reproduzir nas linhas cdigo
produzidas.

Value Types
No .Net as Value Types so os tipos mais simples utilizados. Uma varivel deste tipo
contm o valor, e no o endereo de referncia para o valor. Os tipos mais simples da
plataforma .NET, primeiramente numericos e tipos booleanos, so Values Types. Estes
tipos so armazenados no stack, onde o runtime pode facilmente criar, editar, ler e excluir
sem que haja um grande processamento.
Basicamente existem 3 tipos de Value Types:

Built-in types

User-defined types

Enumeratos
Os tipos de variveis mais comuns de Value Types so:

sbyte

byte,

int ou Integer

uint ou Uinteger

long
float

decimal
Como utilizar Value Types
Quando declaramos uma varivel este smbolo serve de instncia do tipo criado. Como
possuem um construtor implcito no precisamos chamar algum mtodo de inicializao,
ou seja, isso feito automaticamente, sem a necessidade de utilizar a palavra new. O
construtor (implcito, como mencionado anteriormente) atribui varivel declarada um
valor que geralmente 0 ou nulo.

Reference Types
Elas armazenam endereos ao invs dos dados em si. So tambm conhecidos como
Ponteiros, armazenados em endereos de memria chamado Stack. Neste endereo o
runtime pode facilmente e rapidamente criar, editar, ler ou excluir sem que haja um
grande processamento. Este processo chamado de Garbage Collector.

O Garbage Collector feito automaticamente, mas a partir da verso 2.0 do .Net


Framework possvel execut-lo a qualquer momento.

No .Net Framework existem aproximadamente 2500 Reference Types. Estes so


passados por referncia, ou seja, a alterao de um objeto afetar todas as instncias que
apontam para ele.

Obrigado amigo leitor por acompanhar este artigo. At a prxima!

También podría gustarte