- VB.NET
(Si fa riferimento a Visual Basic 2015)
Nella tabella riportata di seguito vengono illustrati i tipi di dati Visual Basic, i relativi tipi di supporto in Common Language Runtime, la relativa allocazione di memoria nominale e gli intervalli di valori corrispondenti.
Tipo Visual Basic
|
Struttura dei tipi in Common Language Runtime
|
Allocazione di memoria nominale
|
Intervallo di valori
|
|---|---|---|---|
Dipende dalla piattaforma di implementazione
| |||
1 byte
|
Da 0 a 255 (senza segno)
| ||
Char (carattere singolo)
|
2 byte
|
Da 0 a 65535 (senza segno)
| |
8 byte
|
Dalle 0.00.00 (mezzanotte) dell'1 gennaio 0001 alle 23.59.59 del 31 dicembre 9999
| ||
16 byte
|
Da 0 a +/-79.228.162.514.264.337.593.543.950.335 (+/-7,9...E+28) † senza decimali; da 0 a +/-7,9228162514264337593543950335 con 28 posizioni decimali;
| ||
Double (virgola mobile a precisione doppia)
|
8 byte
|
Da -1,79769313486231570E+308 a -4,94065645841246544E-324 † per i valori negativi;
Da 4,94065645841246544E-324 a 1,79769313486231570E+308 † per i valori positivi
| |
4 byte
|
Da -2.147.483.648 a 2.147.483.647 (con segno)
| ||
Long (valore long integer)
|
8 byte
|
Da -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 (9,2...E+18 †) (con segno)
| |
Object (classe)
|
4 byte su piattaforma a 32 bit
8 byte su piattaforma a 64 bit
|
In una variabile di tipo Object è possibile memorizzare qualsiasi tipo
| |
1 byte
|
Da -128 a 127 (con segno)
| ||
Short (valore short integer)
|
2 byte
|
Da -32.768 a 32.767 (con segno)
| |
Single (virgola mobile a precisione singola)
|
4 byte
|
Da -3,4028235E+38 a -1,401298E-45 † per i valori negativi;
Da 1,401298E-45 a 3,4028235E+38 † per i valori positivi
| |
String (lunghezza variabile)
|
String (classe)
|
Dipende dalla piattaforma di implementazione
|
Da 0 a circa 2 miliardi di caratteri Unicode
|
4 byte
|
Da 0 a 4.294.967.295 (senza segno)
| ||
8 byte
|
Da 0 a 18.446.744.073.709.551.615 (1,8...E+19 †) (senza segno)
| ||
Tipo di dati definito dall'utente(struttura)
|
(eredita da ValueType)
|
Dipende dalla piattaforma di implementazione
|
Ciascun membro della struttura presenta un intervallo determinato dal relativo tipo di dati e indipendente dagli intervalli degli altri membri
|
2 byte
|
Da 0 a 65.535 (senza segno)
|
- C#
In C# sono supportati tutti i tipi di dati disponibili in Java e in più i numeri senza segno e un nuovo tipo a virgola mobile ad alta precisione a 128 bit.
Per ogni tipo di dati primitivo di Java, la libreria delle classi di base fornisce una classe wrapper che lo rappresenta come oggetto Java. La classeInt32, ad esempio, esegue il wrapping del tipo di dati int, mentre la classe Double esegue il wrapping del tipo di dati double.
Tutti i tipi di dati primitivi di C# sono invece oggetti nello spazio dei nomi System. Per ogni tipo di dati, viene fornito un nome breve, o alias. Ad esempio, int è il nome breve di System.Int32 e double è il nome breve di System.Double.
Nella tabella riportata di seguito è incluso l'elenco dei tipi di dati di C# e dei relativi alias. È possibile notare che i primi otto tipi di dati corrispondono ai tipi primitivi disponibili in Java. La parola chiave boolean di Java è denominata bool in C#.
Nome breve
|
Classe .NET
|
Tipo
|
Larghezza
|
Intervallo (bit)
|
|---|---|---|---|---|
byte
|
Valore integer senza segno
|
8
|
Da 0 a 255
| |
sbyte
|
Valore integer con segno
|
8
|
Da -128 a 127
| |
int
|
Valore integer con segno
|
32
|
Da -2.147.483.648 a 2.147.483.647
| |
uint
|
Valore integer senza segno
|
32
|
Da 0 a 4294967295
| |
short
|
Valore integer con segno
|
16
|
Da -32.768 a 32.767
| |
ushort
|
Valore integer senza segno
|
16
|
Da 0 a 65535
| |
long
|
Valore integer con segno
|
64
|
Da -922337203685477508 a 922337203685477507
| |
ulong
|
Valore integer senza segno
|
64
|
Da 0 a 18446744073709551615
| |
float
|
Tipo a virgola mobile e precisione singola
|
32
|
Da -3,402823e38 a 3,402823e38
| |
double
|
Tipo a virgola mobile e precisione doppia
|
64
|
Da -1,79769313486232e308 a 1,79769313486232e308
| |
char
|
Singolo carattere Unicode
|
16
|
Simboli Unicode utilizzati nel testo
| |
bool
|
Tipo booleano logico
|
8
|
True o false
| |
object
|
Tipo di base per tutti gli altri tipi
| |||
string
|
Sequenza di caratteri
| |||
decimal
|
Tipo frazionario o integrale esatto che può rappresentare numeri decimali con 29 cifre significative
|
128
|
Da ±1.0 × 10e−28 a ±7.9 × 10e28
|
Fonti:
https://msdn.microsoft.com/it-it/library/47zceaw7.aspx
https://msdn.microsoft.com/it-it/library/ms228360(v=vs.90).aspx
Nessun commento:
Posta un commento