Condividi tramite


uint (Riferimenti per C#)

La parola chiave uint denota un tipo integrale che archivia valori in base alla dimensione e all'intervallo indicati nella seguente tabella.

Type Range Size Tipo .NET Framework

uint

Da 0 a 4.294.967.295

Numero intero senza segno a 32 bit

System.UInt32

Valori letterali

È possibile dichiarare e inizializzare una variabile di tipo uint come nell'esempio seguente:

        uint myUint = 4294967290;

Quando un valore letterale integer non ha alcun suffisso, il tipo è il primo dei seguenti tipi in cui è possibile rappresentarne il valore: int, uint, long, ulong. In questo esempio è uint:

        uint uInt1 = 123;

È inoltre possibile utilizzare il suffisso u o U, come illustrato di seguito:

        uint uInt2 = 123U;

Quando si utilizza il suffisso U o u, il tipo del valore letterale viene specificato come uint o ulong, a seconda del valore numerico del valore letterale. Esempio:

Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());

In questo codice viene visualizzato System.UInt32, seguito da System.UInt64, rispettivamente i tipi sottostanti di uint e ulong, perché il secondo valore letterale è troppo grande per essere archiviato dal tipo uint.

Conversioni

Si verifica una conversione implicita predefinita da uint in long, ulong, float, double o decimal. Di seguito è riportato un esempio:

float myFloat = 4294967290;   // OK: implicit conversion to float

Si verifica una conversione implicita predefinita da byte, ushort o char in uint. In tutti gli altri casi è necessario ricorrere a un cast. Nella seguente istruzione di assegnazione verrà ad esempio generato un errore di compilazione senza un cast:

long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong; 
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;

Si noti inoltre che non esiste alcuna conversione implicita dai tipi a virgola mobile a uint. L'istruzione seguente, ad esempio, genera un errore di compilazione, a meno che non venga utilizzato un cast esplicito:

// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0; 

Per informazioni sulle espressioni aritmetiche con tipi a virgola mobile e tipi integrali, vedere float e double.

Per ulteriori informazioni sulle regole di conversione numerica implicita, vedere Tabella delle conversioni numeriche implicite (Riferimenti per C#).

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:

  • 1.3 Tipi e variabili

  • 4.1.5 Tipi integrali

Vedere anche

Riferimenti

Parole chiave di C#
Tabella dei tipi integrali (Riferimenti per C#)
Tabella dei tipi incorporati (Riferimenti per C#)
Tabella delle conversioni numeriche implicite (Riferimenti per C#)
Tabella delle conversioni numeriche esplicite (Riferimenti per C#)
UInt32 Structure

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#