Indice del libro

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

modifica

Vediamo 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

modifica

Il 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

modifica

Per 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:

Alias 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

modifica
Alias 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

modifica
Alias C# Tipo .NET Dimensione (bit) Valori ammessi
bool System.Boolean 32 true o false (vero o falso)
string System.String 16 * lunghezza