LE VARIABILI IN C SHARP
Le variabili in C Sharp sono aree di memoria in cui viene memorizzato temporaneamente un certo tipo di dato, sono le basi fondamentali del linguaggio C#, una variabile può contenere un dato di un tipo definito nella libreria standard come ad esempio un int (la keyword int indica al compilatore che stiamo dichiarando un intero) o un tipo da noi introdotto. Per dichiarare una variabile si procede nel seguente modo:
LE VARIABILI IN C SHARP – DICHIARAZIONE
int myVar;
Con tale istruzione che come vedi termina con un punto e virgola come abbiamo visto a proposito dei token indichiamo al compilatore che ci serve una variabile di tipo intero e che viene identificata dal nome myVar. Viene predisposta un’area di memoria dal compilatore di 4 Byte in quanto un int occupa 4 Byte. Una volta dichiarata la variabile dobbiamo inizializzarla, cioè fornirgli un valore. Questo lo si fa usando l’operatore di assegnazione. Se non lo facciamo avremo un errore del compilatore.
myVar = 180;
A questo punto una certa area della RAM conterrà il valore 180 e tale valore sarà accessibile all’interno del programma dall’identificatore myVar. In pratica con l’operatore di assegnazione che è il simbolo = il compilatore prende il contenuto della parte che sta a destra (che può essere un literal come in questo caso, oppure un’espressione complessa, una chiamata a metodo etc.) e lo assegna alla parte che si trova immediatamente a sinistra.
LE VARIABILI IN C SHARP DICHIARAZIONE E INIZIALIZZAZIONE
La dichiarazione e l’inizializzazione possono essere fatte in un colpo solo nel seguente modo:
int myVar = 180;
Si possono anche dichiarare più variabili dello stesso tipo separate da una virgola come nell’esempio seguente:
int x, y, z;
In questo caso il compilatore crea tre aree di memoria distinte, identificate da x, y, z. Come nel caso di una singola variabile si possono anche in questo caso dichiarare e inizializzare tre variabili.
int x = 120, y = 80, z = 50;
Supponiamo di avere le seguenti variabili:
int x = 180;
int y = 20;
Cosa succede se assegniamo il valore di x ad y, cioè usiamo la seguente istruzione;
y = x;
Il compilatore in questo caso crea due copie per le variabili, una copia che lascia intatto il valore di x a 180 mentre y, data l’operazione di assegnazione, conterrà il valore di x cioè 180 e non più 20.
Riassegnando il valore a x tale variabile conterrà il nuovo valore mentre y rimarrà intatta al valore 180. Verifichiamo tutto quello finora scritto creando un nuovo progetto in visual studio code, applicazione console che chiameremo Variabili.
APPROFONDIMENTO SULLE VARIABILI IN C#
Le variabili in C# sono utilizzate per memorizzare dati di vari tipi e possono essere di vari tipi a seconda delle esigenze del programmatore. Ecco una panoramica dei principali tipi di variabili in C#:
Dichiarazione di variabili
Per dichiarare una variabile in C#, si utilizza la seguente sintassi:
tipo nomeVariabile;
Esempio:
int numero; //Dichiarazione di una variabile intera
string testo; //Dichiarazione di una variabile stringa
Tipi di variabili
1. Tipi di valore (Value Types):
•int: memorizza numeri interi (es. int numero = 10;)
•float: memorizza numeri a virgola mobile a precisione singola (es. float numeroVirgola = 10.5f;)
•double: memorizza numeri a virgola mobile a doppia precisione (es. double numeroVirgolaDoppia = 10.5;)
•bool: memorizza valori booleani (vero o falso) (es. bool isVero = true;)
•char: memorizza un singolo carattere (es. char lettera = ‘A’;)
2. Tipi di riferimento (Reference Types):
•string: memorizza sequenze di caratteri (es. string nome = “Mario”;)
•object: tipo base di tutti i tipi in C# (es. object generico = 42;)
Inizializzazione delle variabili
Una variabile può essere inizializzata al momento della dichiarazione:
int numero = 5;
string testo = “Ciao”;
Variabili costanti
Le variabili costanti sono variabili il cui valore non può essere modificato dopo l’inizializzazione. Si dichiarano usando la parola chiave const:
const int giorniSettimana = 7;
const string saluto = “Hello, World!”;
Variabili locali
Le variabili dichiarate all’interno di un metodo sono chiamate variabili locali e sono accessibili solo all’interno di quel metodo.
void EsempioMetodo()
{
int locale = 10;
Console.WriteLine(locale);
}
Variabili di istanza e di classe
•Variabili di istanza: sono dichiarate all’interno di una classe ma fuori da qualsiasi metodo. Ogni istanza della classe possiede la propria copia di queste variabili.
•Variabili di classe: sono dichiarate con la parola chiave static all’interno di una classe. Esiste una sola copia di queste variabili, condivisa da tutte le istanze della classe.
Esempio:
class Persona
{
public string nome; // Variabile di istanza
public static int contatore = 0; // Variabile di classe
}
Tipi Nullable
I tipi di valore in C# possono essere dichiarati come nullable usando il simbolo ?. Questo consente loro di rappresentare anche il valore null:
int? numeroNullable = null;
if (numeroNullable.HasValue)
{
Console.WriteLine(numeroNullable.Value);
}
else
{
Console.WriteLine(“La variabile è null”);
}
Esempio completo
Ecco un esempio completo che illustra vari aspetti delle variabili in C#:
using System; class Program { // Variabile di classe public static int contatore = 0; static void Main(string[] args) { // Variabile locale int numeroLocale = 42; // Variabile di istanza Persona persona = new Persona(); persona.nome = "Mario"; // Uso di variabili nullable int? etaNullable = null; if (!etaNullable.HasValue) { etaNullable = 30; } Console.WriteLine($"Nome: {persona.nome}, Età: {etaNullable.Value}"); // Conversione esplicita double decimale = 9.99; int intero = (int)decimale; Console.WriteLine($"Intero: {intero}"); // Variabile costante const string messaggio = "Ciao, mondo!"; Console.WriteLine(messaggio); contatore++; Console.WriteLine($"Contatore: {contatore}"); } } class Persona { // Variabile di istanza public string nome; }
CODICE VISUAL STUDIO CODE
using System; namespace Variabili { class Program { static void Main(string[] args) { int myVar; //dichiarazione di una variabile //per i commenti su una riga anteponiamo il doppio slash//. //I commenti su più righe iniziano con /* e terminano con */ //Console.WriteLine($"myVar vale:{myVar}"); //PRODUCE UN ERRORE DI COMPILAZIONE, myVar non inizializzata. /*Come si vede provando ad utilizzare myVar senza averla inizializzata si produce un errore di compilazione subito segnalato da Visual Studio Code.*/ myVar = 120; Console.WriteLine($"myVar vale:{myVar}"); //dichiarazione e inizializzazione di più variabili su una riga. int x = 120, y = 180, z = 50; Console.WriteLine($"x:{x},y:{y},z:{z}"); //Assegiamo ad y il valore di x. y = x; Console.WriteLine($"y adesso vale:{y}, mentre x:{x}"); /*Come vedi per stampare a video i risultati ho utilizzato quella che viene chiamata interpolazione di stringhe. in pratica bisogna anteporre alla stringa il $ e usare i valori delle variabili tra parentesi graffe. C'è anche un altro metodo che ora ti faccio vedere e che si basa su segnaposti.*/ Console.WriteLine("y adesso vale:{0}, mentre x:{1}",y,x); } } }
Lascia un commento