int (Riferimenti per C#)
La parola chiave int denota un tipo integrale che memorizza valori in base alla dimensione e all'intervallo indicati nella seguente tabella.
Digitare |
Intervallo |
Size |
Tipo .NET Framework |
---|---|---|---|
int |
Da -2.147.483.648 a 2.147.483.647 |
Numero intero con segno a 32 bit |
Valori letterali
È possibile dichiarare e inizializzare una variabile di tipo int come nell'esempio seguente:
int i = 123;
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 è del tipo int.
Conversioni
Si verifica una conversione implicita predefinita da int in long, float, double o decimal. Di seguito è riportato un esempio.
// '123' is an int, so an implicit conversion takes place here:
float f = 123;
Si verifica una conversione implicita predefinita da sbyte, byte, short, ushort o char in int. Nella seguente istruzione di assegnazione verrà ad esempio generato un errore di compilazione senza un cast:
long aLong = 22;
int i1 = aLong; // Error: no implicit conversion from long.
int i2 = (int)aLong; // OK: explicit conversion.
Si noti inoltre che non esiste alcuna conversione implicita dai tipi a virgola mobile a int. L'istruzione seguente, ad esempio, genera un errore di compilazione, a meno che non venga utilizzato un cast esplicito:
int x = 3.0; // Error: no implicit conversion from double.
int y = (int)3.0; // OK: explicit conversion.
Per ulteriori informazioni sulle espressioni aritmetiche con tipi a virgola mobile e tipi integrali, vedere float e double.
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.
Vedere anche
Riferimenti
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#)