Variabili in C#: memoria, tipi, dichiarazione e assegnazione

Una variabile è un’area logica di memoria identificata da un nome e da un tipo. Serve a conservare i valori su cui lavora il programma. Per imparare a programmare, conviene rappresentare la memoria come una tabella che mostra le variabili e il loro stato.

Dichiarazione, inizializzazione e assegnazione

int eta = 16;
double temperatura = 22.5;
string nome = "Ada";
bool presente = true;

eta = eta + 1;
Console.WriteLine(eta); // 17

Nella prima riga int indica il tipo, eta il nome, e 16 il valore iniziale. L’istruzione eta = eta + 1; legge il valore precedente, aggiunge uno e memorizza il risultato nella stessa variabile.

I principali tipi di dato

TipoValori rappresentatiEsempio
intInteriint q = 8;
doubleNumeri realidouble t = 18.5;
charUn caratterechar iniziale = 'A';
stringTestostring nome = "Anna";
boolVero/falsobool ok = true;

Stato di memoria e traccia di esecuzione

int a = 4;
int b = 7;
a = a + b;
b = a - b;
Console.WriteLine($"{a} {b}");
Passaggioab
Dopo le dichiarazioni47
Dopo a = a + b117
Dopo b = a - b114

L’output è 11 4. Una tabella di traccia aiuta a verificare ogni singolo aggiornamento senza eseguire subito il programma.

Costanti e visibilità delle variabili

const double PI_GRECO = 3.14159;
double raggio = 3;
double area = PI_GRECO * raggio * raggio;
Console.WriteLine(area);

Una const non può essere modificata dopo la dichiarazione. Una variabile dichiarata all’interno di un blocco delimitato da graffe è normalmente utilizzabile soltanto in quell’ambito.

Allenamento

  • Rappresenta sulla carta lo stato di tre variabili int dopo quattro assegnazioni successive.
  • Dichiara nome, prezzo e disponibilità di un prodotto scegliendo i tipi corretti.
  • Spiega la differenza tra = (assegnazione) e == (confronto).

Errori frequenti: usare una variabile locale prima che abbia un valore assegnato; confondere char e string; usare , come separatore decimale in un letterale C# al posto del punto.

Nel percorso: ← Macchine programmabili · Indice del corso · Input e output →