Inscreva-se agora

* Você receberá as últimas notícias e atualizações sobre suas celebridades favoritas!

Postagens em alta

Blog

Tipos de Valor em C#: Entenda a Diferença entre Structs, Enum e Tipos Anuláveis
Aprenda C#

Tipos de Valor em C#: Entenda a Diferença entre Structs, Enum e Tipos Anuláveis 

Tipos de Valor em C#: Entenda a Diferença entre Structs, Enum e Tipos Anuláveis

O C# oferece dois tipos fundamentais: tipos de valor e tipos de referência. Neste artigo, vamos explorar o que são tipos de valor em C# e como eles se diferenciam dos tipos de referência. Além disso, falaremos sobre tipos anuláveis, como eles funcionam e como usar essas características para garantir uma codificação eficiente.

O que são Tipos de Valor?

Os tipos de valor são structs ou enums que armazenam diretamente seus dados em vez de referenciar um local na memória, como os tipos de referência fazem. Quando você atribui um valor a uma variável de tipo de valor, está fazendo uma cópia do valor. Isso é diferente dos tipos de referência, nos quais apenas o ponteiro para o local de memória é copiado.

Exemplo de tipos de valor em C#:

int numero = 10;
float valorDecimal = 20.5f;
bool verdadeiroOuFalso = true;

Aqui, cada variável contém seu próprio valor diretamente.

O que é o System.ValueType?

Todos os tipos de valor em C# herdam de System.ValueType. Esse tipo especial ajuda os tipos de valor a se comportarem como objetos quando necessário. Isso significa que podemos “boxear” (converter) um valor de tipo de valor para um objeto e depois “desboxear” de volta para o tipo de valor.

int numero = 123;
object obj = numero; // Boxing
int desboxeado = (int)obj; // Unboxing

Construtores Padrão em Tipos de Valor

Tipos de valor sempre têm um construtor padrão que inicializa os campos para seus valores padrão. Por exemplo, int será 0, bool será false, e assim por diante.

int numero = new int(); // Inicializa para 0
bool flag = new bool(); // Inicializa para false

Tipos de Valor Anuláveis

Tipos de valor anuláveis são um recurso importante quando você deseja que um tipo de valor possa conter um valor nulo. Eles são representados pelo sufixo ?.

Exemplo de tipos anuláveis:

int? numeroNulo = null;
bool? flagNula = null;

Com tipos anuláveis, você pode verificar se a variável contém um valor antes de utilizá-la, evitando exceções.

Tipos Simples em C#

C# oferece uma série de tipos simples que são aliases para structs predefinidos no namespace System. Aqui estão alguns exemplos:

Palavra-ChaveNamespace completo
intSystem.Int32
floatSystem.Single
boolSystem.Boolean
decimalSystem.Decimal

Esses tipos simples são usados com frequência e permitem a criação de valores constantes ou literais no código.

Conclusão

Compreender os tipos de valor em C# é fundamental para escrever código eficiente e otimizado. Eles fornecem controle direto sobre a memória e evitam overheads desnecessários, como a alocação de objetos em heap. Além disso, os tipos anuláveis tornam o C# ainda mais flexível, permitindo o uso de valores nulos quando necessário.

Se você tem dúvidas ou já usou essas técnicas no seu código, compartilhe nos comentários sua experiência!

Posts relacionados

Deixe um comentário


Campos obrigatórios são marcado com *