Programmare in C# – Le Variabili
Per iniziare a programmare in C# avremo bisogno di variabili.
Ma cos’è esattamente una variabile?
Una variabile identifica una parte di memoria che serve a contenere dei dati modificabili nel corso dell’esecuzione di un programma (contenitore). 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 var1 = 5; int var2 = var1; var2 = 15;
int corrisponde a un tipo numerico, ovvero un intero.
Nell’esempio qui si sopra:
- int è il tipo di dato;
- var 1 e var2 è il nome della variabile;
- 5 è il suo valore (perché var1 due è uguale a var1).
Infine si può modificare il valore di una variabile durante il corso del programma, ed è proprio quello che accade alla fine dell’esempio quando diciamo che var2 è uguale a 15.
Tipi valore
C#, come tutti i linguaggi di programmazione, supporta diversi tipi di dato.
Vediamo i tipi valore predefiniti in C# e i corrispondenti tipi di sistema nel framework .Net
Tipo | Valori ammissibili |
---|---|
sbyte | da -128 a 127 |
short | da -32768 a 32767 |
int | da -2147483648 a 2147483647 |
long | da -9223372036854775808 a 9223372036854775807 |
byte | da 0 a 255 |
ushort | da 0 a 65535 |
uint | da 0 a 4294967295 |
ulong | da 0 a 18446744073709551615 |
float | da ±1.5 x 10-45 a ±3.4 x 1038 con 7 cifre significative |
double | da ±5.0 x 10-324 a ±1.7 x 10308 con 15 o 16 cifre significative |
decimal | da ±1.0 x 10-28 a ±7.9 x 1028 con 28 o 29 cifre significative |
char | caretteri unicode (16 bit) |
bool | true or false |
Vediamo degli esempi di tipi interi:
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 di variabili 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 andata 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\Antonella";
E’ identico a:
string mioPath = "C:\\Users\\Antonella";
Sequenze di escape
Come mostrato nell’esempio di sopra, nelle variabili di tipo stringa possiamo aggiungere delle sequenze di escape, che permettono, ad esempio, di andare a capo.
Vediamo quali sono le sequenze di escape riconosciute da C#:
Carattere | Sequenza di Escape |
---|---|
‘ | \’ |
“ | \” |
\ | \\ |
Alert | \a |
Backspace | \b |
Form feed | \f |
Nuova riga | \n |
A capo | \r |
Tab | \t |
null |
Un esempio pratico
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 = 31; string var2 = " anni."; Console.Write(var1 + anni + var2); Console.ReadLine(); } }
Questo è un esempio di programma in C# contenente delle variabili.
In genere per gestire le variabili è possibile utilizzare gli stessi operatori di altri linguaggi di programmazione come C o C++.
Nella prossima lezione vedremo le funzioni di C#.
Ricordatevi sempre che lo sviluppo è una forma d’arte.
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q