C# è un linguaggio type-safe. Tutte le variabili devono essere dichiarate, ed occorre specificarne il tipo.
Abbiamo due tipi di variabili: valore e riferimento.
Quando una variabile contiene un tipo valore, contiene direttamente un oggetto con il valore. Quando una variabile contiene un tipo riferimento, in realtà contiene un qualcosa che si riferisce ad un oggetto. In questo caso una seconda variabile può contenere lo stesso riferimento.
Tipi valore
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 dichiarazione di variabili
int var1 = 5; int var2 = var1;
var2 = 15;
Tipi riferimento
I tipi riferimento contengono il valore di un indirizzo di memoria accupato dall'oggetto che referenziano.
Sequenze di Escape Sequences e Verbatim Strings (stringhe alla lettera)
Quando dichiariamo una stringa ci sono dei caratteri che non possono essere inclusi per vari motivi. Per risolvere il problema si possono usare le sequenza di escape o le “stringhe alla lettera"
Vediamo un primo esempio:
Supponiamo di voler dichiarare:
"Ciao
cono io"
Si può utilizzare la sequenza di escape “\n" per indicare l'interruzione di riga.
string a = "\"Ciao\nsono io\"";
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
\0
Oppure possiamo utilizzare le “verbatim string". Sono definite racchiudendo la stringa tra @" e ".
Vediamo un esempio prima con le sequenze di escape e poi con le verbatim strings