C sharp/Variabili
Le variabili sono usate per memorizzare valori limitatamente all'esecuzione del programma. Più tecninamente, una variabile collega un oggetto (nel senso generale del termine, ad esempio un valore, un numero, una stringa) ad un identificatore (il nome della variabile) così che l'oggetto possa essere accessibile anche successivamente.
Quando parleremo del valore "contenuto" nella variabile, facciamo in realtà riferimento all'oggetto o al valore a cui la variabile è associata.
Semplici variabili
modificaVediamo un esempio di creazione (dichiarazione) di una variabile:
int num;
Questa istruzione crea una variabile chiamata "num
" che non collega per ora nessun valore/oggetto. La parola chiave "int
" indica che la variabile dovrà contenere solo numeri interi.
Per collegare la variabile ad un valore (assegnare il valore alla variabile) si usa la sintassi:
variabile = valore;
Per esempio:
num = 9;
È possibile anche combinare la dichiarazione con una prima assegnazione:
int num = 9;
Per fare riferimento al valore contenuto in una variabile per utilizzarlo in seguito usiamo semplicemente il nome della variabile:
int num2 = num;
In questo modo copiamo il valore di num
in num2
. Possiamo anche scrivere:
Console.WriteLine(num.ToString()); //stampa "9", attraverso metodo ToString e converto Int32 in String
Tipi di dati
modificaIl tipi di dato di una variabile definisce i tipi di valori che essa può contenere.
Questo è importante anche perché differenti tipi di dati richiedono un diverso utilizzo di memoria. Se ad esempio si è sicuri che un particolare valore (ad esempio il risultato di un calcolo) sarà un intero compreso tra 0 e 255 (la sua scrittura in sistema binario occupa quindi un byte) sarà inutile predisporre uno spazio di memoria maggiore.
Tipi di dati semplici
modificaPer mantenere la somiglianza con altri linguaggio come Java o C++, tutti i tipi di dati semplici sono in realtà degli alias dei corrispondenti tipi di dato nel framework .NET. Prendiamo ad esempio il tipo di dato int
visto in precedenza; in realtà scrivere:
int var = 3;
è come scrivere:
System.Int32 var = 3;
Questo perché la parola chiave int
è in realtà un alias per il tipo di dato Int32 nel framework. Questo può sembrare superfluo, ma ritorna fuori quando si lavora con altri linguaggi (come il VB.net):
Dim i As Integer = 42 //alias specifico per Visual Basic
Dim i As System.Int32 = 42 //funziona anche questo
End Sub
Di seguito sono indicati tutti i tipi di dato in C# insieme al loro alias nel framework:
Interi
modificaAlias C# | Tipo .NET | Dimensione (bit) | Valori ammessi |
---|---|---|---|
sbyte | System.SByte | 8 | da -128 a 127 |
byte | System.Byte | 8 | da 0 o 255 |
short | System.Int16 | 16 | da -32,768 a 32,767 |
ushort | System.UInt16 | 16 | da 0 a 65,535 |
char | System.Char | 16 | Un carattere Unicode da 0 a 65,535 |
int | System.Int32 | 32 | da -2,147,483,648 a 2,147,483,647 |
uint | System.UInt32 | 32 | da 0 a 4,294,967,295 |
long | System.Int64 | 64 | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
ulong | System.UInt64 | 64 | 0 a 18,446,744,073,709,551,615 |
Numeri decimali
modificaAlias C# | Tipo .NET | Dimensione (bit) | Precisione | Valori ammessi |
---|---|---|---|---|
float | System.Single | 32 | 7 cifre | da 1.5 x 10-45 a 3.4 x 1038 |
double | System.Double | 64 | 15-16 cifre | da 5.0 x 10-324 a 1.7 x 10308 |
decimal | System.Decimal | 128 | 28-29 cifre decimali | da 1.0 x 10-28 a 7.9 x 1028 |
Altri tipi predefiniti
modificaAlias C# | Tipo .NET | Dimensione (bit) | Valori ammessi |
---|---|---|---|
bool | System.Boolean | 32 | true o false (vero o falso) |
string | System.String | 16 * lunghezza |