back to top

Variabili, tipi di dato ed espressioni in C#

Una variabile identifica una parte di memoria che serve a contenere dei dati modificabili nel corso dell’esecuzione di un programma. Una variabile è caratterizzata da un nome (sequenza di caratteri e cifre) e da un valore.

Un’espressione è la possibile combinazione di valori, variabili, operatori e funzioni che sono interpretate (valutate) secondo particolari regole, di precedenza e di associazione, e producono un nuovo valore.

Per usare una variabile in C#, basta anteporre il tipo seguito dal nome e da un’eventuale assegnazione. Ad esempio:

int miaVar = 8;

Dove:

  • int è il tipo di dato;
  • miaVar è il nome della variabile;
  • 8 è il suo valore.

Ovviamente, nel definire una variabile, possiamo usare il tipo di dato che più si presta a gestire i valori che ad essa verranno assegnati. Una volta dichiarata la nostra variabile, potremo compiere qualunque operazione su di essa.

Ad esempio possiamo mostrare a video il valore della variabile dichiarata all’esempio precedente in questo modo:

Console.Write(miaVar);

In C# è sempre necessario dichiarare una variabile per non ricevere errori.

I tipi di dato in C#

C#, come tutti i linguaggi di programmazione, supporta diversi tipi di dato. Vediamoli di seguito:

Tipi interi

Per spiegare come gestire gli interi con C# partiamo da un esempio:

using System;
class Program
{
    public static void Main()
    {
        // 8 bit -128 to 127
        sbyte SbyteVar = 127;

        // 8 bit 0 to 255
        byte byteVar = 255;

        // 16 bit -32768 to 32767
        short ShortVar = 32767;

        // 16 bit 0 to 65535
        ushort ushortVar = 65535;

        // 32 bit -2147483648 to 2147483647
        int intVar = 2147483647;

        // 32 bit 0 to 4294967295
        uint uintVar = 4294967295;

        // 64 bit -9223372036854775808 to 9223372036854775807
        long longVar = 9223372036854775807;

        // 64 bit 0 to 18446744073709551615
        ulong ulongVar = 18446744073709551615;

        // 16 bit 0 to 65535
        char charVar = (char)65535;
    }
}

Questi sono tutti i tipi che C# mette a disposizione per gestire gli interi. Osserviamo che nei commenti è indicato il numero di bit occupati in memoria e la dimensione minima e massima usabile per quel tipo di dato.

Notate che il tipo int può diventare anche un tipo uint(unsigned), poiché vengono semplicemente esclusi i negativi, aumentando però la capacità dei numeri positivi (che raddoppia).

Tipi decimali e float

Per rappresentare numeri reali possiamo usare i tipi floating e decimali. Se vogliamo usare un numero in virgola con precisione a 7 cifre decimali usiamo il tipo float. Se invece vogliamo gestire numeri con virgola a 15 – 16 cifre usiamo il tipo double; per numeri con cifre dopo la virgola di 28 – 29 cifre usiamo il tipo decimal, che è quello che occupa più memoria (128 bit).

Vediamo un esempio:

float MyFloat = (float)1.123456789;
Console.Write(MyFloat);
Console.ReadLine();

Eseguendo il codice sopra, a video verrà mostrato un numero a 7 cifre dopo la virgola, in quanto le librerie del Framework automaticamente troncano la parte che non è possibile gestire con un determinato tipo di variabile. Osservate nella prima istruzione che viene usato un casting (float), cioè viene specificato a quale tipo di dato dovrà corrispondere il valore che viene dopo.

Tipi stringa

Per gestire le stringhe in C# si usa il tipo string. Questo contiene caratteri di testo consecutivi semplicemente racchiusi tra doppi apici. Vediamo un esempio:

string MiaStringa = "Questa è una stringa";

Se vogliamo, possiamo usare caratteri speciali all’interno della nostra stringa, basta usare il backslash (\), seguito dal carattere. Ad esempio possiamo decidere di andare a capo con "\n":

string MiaStringa = "Questa è una stringa\nSono andato a capo.";

Possiamo usare anche il carattere speciale @, per dire al compilatore che si tratta di una stringa e di non interpretare i backslash come caratteri speciali.

string mioPath = @"C:\Users\Vincenzo";

E’ identico a:

string mioPath = "C:\\Users\\Vincenzo";

Lavorare con le variabili

Possiamo, ovviamente, manipolare insieme più variabili. Vediamo di seguito come concatenare il valore di più variabili mediante l’operatore di concatenazione (+):

using System;
class Unary
{
    public static void Main()
    {
        string var1 = "Ciao ho ";
        int anni = 18;
        string var2 = " anni.";

        Console.Write(var1 + anni + var2);
        Console.ReadLine();
    }
}

In genere per gestire le variabili è possibile utilizzare gli stessi operatori di altri linguaggi di programmazione come C o C++. Nella prossima lezione vedremo, appunto, gli operatori di C#.

Pubblicità
Articolo precedente
Articolo successivo