ushort (translation from VPE for Csharp Reference)
The ushort palavra-chave indica um tipo de dados integral que armazena valores de acordo com o dimensionar e o intervalo mostrado na tabela a seguir.
Type (Tipo) |
Intervalo |
Size (Tamanho) |
Tipo .NET Framework |
---|---|---|---|
ushort |
0 a 65.535 |
Inteiro de 16 bits sem-sinal |
Literais
Você pode declarar e inicializar um ushort variável, sistema autônomo neste exemplo:
ushort myShort = 65535;
Na declaração anterior, o número inteiro literal 65535 é implicitamente convertido de int to ushort. Se o número inteiro literal excede o intervalo de ushort, ocorrerá um erro de compilação.
Uma conversão deve ser usada ao chamar métodos sobrecarregados.Considere, por exemplo, que o seguinte sobrecarregado a métodos que uso ushort e int parâmetros:
public static void SampleMethod(int i) {}
public static void SampleMethod(ushort s) {}
Usando o ushort elenco garante que o tipo correto é chamado, por exemplo:
// Calls the method with the int parameter:
SampleMethod(5);
// Calls the method with the ushort parameter:
SampleMethod((ushort)5);
Conversões
Há uma conversão implícita predefinida de ushort para int, uint, longo, ULong, float, duplo, or decimal.
Há uma conversão implícita predefinida de byte or char to ushort. Caso contrário, uma conversão deve ser usada para executar uma conversão explícita.Considere, por exemplo, os dois seguintes ushort variáveis x e y:
ushort x = 5, y = 12;
A demonstrativo de atribuição a seguir produzirá um erro de compilação, porque a expressão aritmética no lado direito do operador de atribuição é avaliada como int Por padrão.
ushort z = x + y; // Error: conversion from int to ushort
Para corrigir esse problema, use um cast:
ushort z = (ushort)(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;
Observe também que não há nenhuma conversão implícita de tipos de ponto flutuante para ushort. Por exemplo, a instrução a seguir gera um erro do compilador, a menos que seja usada uma conversão explícita:
// Error -- no implicit conversion from double:
ushort x = 3.0;
// OK -- explicit conversion:
ushort y = (ushort)3.0;
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 sobre 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
Referência
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