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

System.UInt16

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

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 

UInt16

Outros recursos

Referência C#