uint (Referência de C#)
O uint palavra-chave significa tipo integral que armazena valores de acordo com o tamanho e o intervalo, mostrado na tabela a seguir.
Tipo |
Intervalo |
Tamanho |
Tipo .NET Framework |
---|---|---|---|
uint |
0 a 4,294,967,295 |
Inteiro de 32 bits sem-sinal |
Nota a uint o tipo não é compatível com CLS. Use int sempre que possível.
Literais
Você pode declarar e inicializar uma variável do tipo uint , como neste exemplo:
uint myUint = 4294967290;
Quando um literal inteiro não tem nenhum sufixo, seu tipo é o primeiro desses tipos no qual o seu valor pode ser representado: int, uint, longo, ulong. Neste exemplo, é uint:
uint uInt1 = 123;
Você também pode usar o sufixo u ou U, como este:
uint uInt2 = 123U;
Quando você usa o sufixo U ou u, o tipo do literal é determinado para ser uma uint ou ulong ao valor numérico do literal. Por exemplo:
Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());
Esse código exibe System.UInt32, em seguida, System.UInt64 – a base tipos para uint e ulong respectivamente – porque o segundo literal é muito grande para ser armazenadas pelo uint tipo.
Conversões
Há uma conversão implícita predefinida de uint para longo, ulong, float, double, ou decimal. Por exemplo:
float myFloat = 4294967290; // OK: implicit conversion to float
Há uma conversão implícita predefinida de bytes, ushort, ou char para uint. Caso contrário, você deve usar uma projeção. Por exemplo, a seguinte instrução de atribuição produzirá um erro de compilação sem uma conversão:
long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong;
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;
Observe também que não há nenhuma conversão implícita de tipos de ponto flutuante para uint. 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:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0;
Para obter informações sobre expressões aritméticas com tipos mistos de ponto flutuante e tipos integrais, consulte float e double.
Para obter mais informações sobre regras de conversão numérica implícito, consulte o Tabela de conversões numéricas implícitas (Referência de C#).
Especificação da linguagem C#
Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Tabela de tipos integrais (Referência de C#)
Tabela de tipos internos (Referência de C#)
Tabela de conversões numéricas implícitas (Referência de C#)
Tabela de conversões numéricas explícitas (Referência de C#)