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

System.UInt32

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

C# Keywords

Integral Types Table (C# Reference)

Built-In Types Table (C# Reference)

Implicit Numeric Conversions Table (C# Reference)

Explicit Numeric Conversions Table (C# Reference)

UInt32

Conceitos

C# Programming Guide

Outros recursos

C# Reference