LE  VARIABILI IN C SHARP

C sharpLe 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.

Variabili dichiarazione

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.

Variabili assegnazione

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.

Applicazione console

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);
        }
    }
}

LE VARIABILI IN C SHARP-LINK AI PRECEDENTI POST

IL LINGUAGGIO C#

APPROFONDIMENTO