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 |
Notaa 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 possuir sufixo, seu tipo é o primeiro desses tipos que seu valor pode ser representado: int, uint, long, ulong. Neste exemplo, é uint:
uint uInt1 = 123;
Você também pode usar o sufixo u ou U, tais como:
uint uInt2 = 123U;
Quando você usa o sufixo U ou u, o tipo do literal é determinado para ser 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, seguido por System.UInt64 – 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 integral, consulte float e double.
Para obter mais informações sobre regras de conversão numérica implícita, consulte o Implicit Numeric Conversions Table (C# Reference).
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Integral Types Table (C# Reference)
Built-In Types Table (C# Reference)
Implicit Numeric Conversions Table (C# Reference)
Explicit Numeric Conversions Table (C# Reference)