Share via


Value Types (C# Reference)

Os tipos de valor consistem em duas categorias principais:

Structs se enquadram nestas categorias:

Principais recursos dos tipos de valor

Variáveis que são baseadas em tipos de valor diretamente contêm valores. Atribuir uma variável do tipo de valor para outro cópias o valor contido. Isso difere da atribuição das variáveis do tipo de referência, que copia uma referência para o objeto, mas não o próprio objeto.

Todos os tipos de valor são derivados implicitamente a System.ValueType.

Ao contrário com tipos de referência, você não pode derivar um novo tipo de um tipo de valor. No entanto, como tipos de referência, structs pode implementar interfaces.

Ao contrário dos tipos de referência, um tipo de valor não pode conter o null valor. No entanto, o tipos anuláveis recurso permitir para os tipos de valores a serem atribuídos a null.

Cada tipo de valor tem um construtor padrão implícitos que inicializa o valor padrão desse tipo. Para obter informações sobre valores padrão de tipos de valor, consulte Tabela de valores padrão.

Principais recursos dos tipos simples

Todos os tipos simples – aquelas integral do idioma C# - são alias da.Tipos de sistema do NET Framework. Por exemplo, int é um alias de System.Int32. Para obter uma lista completa de aliases, consulte Built-In Types Table (C# Reference).

Expressões de constante, cujos operandos forem todas as constantes de tipo simples, são avaliadas em tempo de compilação.

Tipos simples podem ser inicializados usando literais. Por exemplo, 'A' é um literal do tipo char e 2001 é um literal do tipo int.

Inicializando os tipos de valor

Variáveis locais no C# devem ser inicializadas antes de serem usadas. Por exemplo, você poderia declarar uma variável local sem inicialização, como no exemplo a seguir:

int myInt;

Você não pode usá-lo antes de inicializá-lo. Você pode inicializar usando a instrução a seguir:

myInt = new int();  // Invoke default constructor for int type.

Essa declaração equivale a instrução a seguir:

myInt = 0;         // Assign an initial value, 0 in this example.

É claro que a declaração e a inicialização na mesma declaração, como nos exemplos a seguir:

int myInt = new int();

– ou –

int myInt = 0;

Usando o nova chama o construtor padrão do tipo específico de operador e atribui o valor padrão à variável. No exemplo anterior, o construtor padrão atribuído o valor de 0 para myInt. Para obter mais informações sobre valores atribuídos ao chamar construtores padrão, consulte Tabela de valores padrão.

Com tipos definidos pelo usuário, use nova para chamar o construtor padrão. Por exemplo, a instrução a seguir chama o construtor padrão da Point struct:

Point p = new Point(); // Invoke default constructor for the struct.

Após essa chamada, a estrutura é considerada definitivamente seja atribuído; ou seja, todos os seus membros são inicializados para seus valores padrão.

Para obter mais informações sobre o operador new, consulte nova.

Para obter informações sobre como formatar a saída de tipos numéricos, consulte Formatação de tabela de resultados numéricos.

Consulte também

Referência

C# Keywords

Reference Types (C# Reference)

Conceitos

C# Programming Guide

Outros recursos

C# Reference

Types (C# Reference)

Types Reference Tables (C# Reference)