Tipos valor (referência C#)

Os tipos de valor consistem em duas categorias principais:

As estruturas se encaixam nestas categorias:

Principais recursos dos tipos de valor

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

Todos os tipos de valores são obtidos implicitamente o System.ValueType.

Ao contrário dos tipos de referência, é possível derivar um novo tipo de um tipo de valor.No entanto, como tipos de referência, structs pode implementar interfaces.

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

Cada tipo de valor possui 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.

Recursos principais de tipos simples

Todos os tipos simples--esses integral para a linguagem translation from VPE for Csharp--são aliases dos tipos de sistema do .NET estrutura.Por exemplo, int é um alias de System.Int32. Para obter uma lista completa de aliases, consulte Tabela tipos internas (referência C#).

Expressões constante, cujos operandos forem todas as constante de tipo simples, são avaliadas no time 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 translation from VPE for Csharp devem ser inicializadas antes de serem usadas.Por exemplo, você pode declarar uma variável local sem inicialização, sistema autônomo no exemplo a seguir:

int myInt;

Não é possível usá-lo antes de inicializá-lo.Você pode inicializar usando a demonstrativo a seguir:

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

Essa demonstrativo equivale a demonstrativo a seguir:

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

Você pode, obviamente, ter a demonstrativo e a inicialização na mesma demonstrativo sistema autônomo nos exemplos a seguintes:

int myInt = new int();

- ou -

int myInt = 0;

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

Com tipos definidos pelo usuário, use novo para chamar o construtor padrão.Por exemplo, a demonstrativo a seguir chama o construtor padrão do Point struct:

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

Após essa telefonar, a estrutura é considerada como definitivamente, ser 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 novo.

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

Consulte também

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

Tipos de referência (referência C#)

Outros recursos

Referência C#

Tipos (referência C#) 

Tipos tabelas Reference (referência C#)