curto (translation from VPE for Csharp Reference)

The short palavra-chave denota um tipo de dados que armazena valores de acordo com o dimensionar e o intervalo mostrado na tabela a seguir.

Type (Tipo)

Intervalo

Size (Tamanho)

Tipo .NET Framework

short

-32.768 a 32.767

Inteiro de 16 bit

System.Int16

Literais

Você pode declarar e inicializar um short variável, como neste exemplo:

short x = 32767;

Na declaração anterior, o número inteiro literal 32767 é implicitamente convertido de int to short. Se a literal de inteiro não couber em um short local de armazenamento, ocorrerá um erro de compilação.

Uma conversão deve ser usada quando chamada sobrecarregado métodos.Considere, por exemplo, que o seguinte sobrecarregado a métodos que uso short e int parâmetros:

public static void SampleMethod(int i) {}
public static void SampleMethod(short s) {}

Usando o short elenco garante que o tipo correto é chamado, por exemplo:

SampleMethod(5);         // Calling the method with the int parameter
SampleMethod((short)5);  // Calling the method with the short parameter

Conversões

Há uma conversão implícita predefinida de short para int, longo, float, duplo, or decimal.

Não é possível converter implicitamente nonliteral tipos numéricos do maior dimensionar de armazenamento em short (consulte a Integral tabela Tipos (referência C#) para os armazenamento tamanhos de tipos integrais). Considere, por exemplo, os dois seguintes short variáveis x e y:

short x = 5, y = 12;

A instrução de atribuição a seguir gerará um erro de compilação, porque a expressão aritmética do operador de atribuição no lado direito é avaliada, por padrão, como int.

short z = x + y; // Error: no conversion from int to short

Para corrigir esse problema, use um cast:

short z = (short)(x + y); // OK: explicit conversion

No entanto é possível usar as instruções a seguir, onde a variável de destino tem o mesmo dimensionar de armazenamento ou um dimensionar maior do armazenamento:

int m = x + y;
long n = x + y;

Não há nenhuma conversão implícita de tipos de ponto flutuante para short. Por exemplo, a instrução a seguir gera um erro do compilador, a menos que seja usada uma conversão explícita:

short x = 3.0;          // Error: no implicit conversion from double
short y = (short)3.0;   // OK: explicit conversion

Para obter informações sobre expressões aritméticas com tipos mistos de ponto flutuante e tipos integrais, consulte float and duplo.

Para obter mais informações em regras de conversão numérica implícito, consulte o Numérico tabela Conversions (referência C#) implícita.

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • 1.3 Tipos e variáveis

  • 4.1.5 Tipos integrais

Consulte também

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

Integral tabela Tipos (referência C#)

Tabela tipos internas (referência C#)

Numérico tabela Conversions (referência C#) implícita

Numérico tabela Conversions (referência C#) explícita 

Int16

Outros recursos

Referência C#