C# supporta nove tipi integrali: sbyte, byte, short, ushort, int, unint, long, ulong e char. I tipi integrali hanno le dimensioni e gli intervalli di valori seguenti:
- Il tipo di sbyte rappresenta interi con segno a 8 bit con valori compresi tra-128 e 127.
- Il tipo di byte rappresenta interi senza segno a 8 bit con valori compresi tra 0 e 255.
- Il tipo di short rappresenta interi con segno a 16 bit con valori compresi tra-32768 e 32767.
- Il tipo di ushort rappresenta interi senza segno a 16 bit con valori compresi tra 0 e 65535.
- Il tipo di int rappresenta interi con segno a 32 bit compresi tra-2147483648 e 2147483647.
- Il tipo di uint rappresenta interi senza segno a 32 bit con valori compresi tra 0 e 4294967295.
- Il tipo di long rappresenta interi con segno a 64 bit con valori compresi tra-9.223.372.036.854.775.808 e 9223372036854775807.
- Il tipo di ulong rappresenta interi senza segno a 64 bit con valori compresi tra 0 e 18.446.744.073.709.551.615.
- Il tipo di char rappresenta interi senza segno a 16 bit con valori compresi tra 0 e 65535. Il set di valori possibili per il tipo di char corrisponde al set di caratteri Unicode. Sebbene char abbia la stessa rappresentazione di ushort, non tutte le operazioni consentite su un solo tipo sono consentite nell’altra.
C# supporta due tipi a virgola mobile: float e double.
Il tipo di float può rappresentare valori compresi tra circa 1.5*10^-45 e 3.4*10^38 con una precisione di 7 cifre. Il tipo di double può rappresentare valori compresi tra circa 5.0*10^-324 e 1.7*10^308 con una precisione di 15-16 cifre.Il tipo di bool rappresenta le quantità logiche booleane. I valori possibili di tipo bool sono true e false.
Il tipo di string è un tipo di classe sealed che eredita direttamente da object. Le istanze della classe string rappresentano stringhe di caratteri Unicode. I valori del tipo di string possono essere scritti come valori letterali stringa.La parola chiave string è semplicemente un alias per la classe predefinita System.String .
Anche in Visual Basic sono disponibili vari tipi di dati numerici, ovvero Integer, Long (intero lungo), Single (virgola mobile a precisione semplice), Double (virgola mobile a precisione doppia) e Currency.
Quando si è certi che in una variabile verranno sempre memorizzati numeri interi, quale
il numero 12, anziché numeri frazionari, quale ad esempio 3.57, è consigliabile dichiararla con il tipo di dati Integer o Long. Le operazioni con valori interi vengono infatti eseguite più rapidamente. Questi tipi di dati utilizzano inoltre una minor quantità di memoria rispetto ad altri tipi e risultano particolarmente utili come variabili contatore in cicli.
Le variabili che includono valori frazionari devono essere dichiarate con tipo Single,
Double o Currency. Il tipo di dati Currency supporta fino a quattro cifre a destra del separatore decimale e fino a quindici cifre a sinistra. Si tratta di un tipo di dati a virgola fissa adatto a calcoli di valuta. Con numeri in virgola mobile (tipi di dati Single e Double) sono disponibili intervalli di valori più ampi rispetto al tipo Currency. Tali valori sono tuttavia soggetti a piccoli errori di arrotondamento.
Il tipo di dati Currency è utile per i calcoli monetari e per calcoli a virgola fissa in cui la
precisione riveste un’importanza particolare.
Le variabili in cui vengono sempre memorizzate stringhe e mai valori numerici possono
essere dichiarate come tipo String. Per impostazione predefinita, una variabile o argomento di tipo String è una stringa di lunghezza variabile, ovvero le dimensioni aumentano o diminuiscono in base ai dati assegnati.
Le variabili che includono informazioni di tipo vero/falso, sì/no e on/off possono essere
dichiarate come tipo Boolean.
