Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Visual Basic sono disponibili due tipi di tipi: tipi riferimento e tipi valore. Le variabili dei tipi di riferimento archiviano i riferimenti ai relativi dati (oggetti), mentre le variabili di tipi valore contengono direttamente i dati. Con i tipi di riferimento, due variabili possono fare riferimento allo stesso oggetto. Di conseguenza le operazioni su una variabile possono influire sull'oggetto a cui fa riferimento l'altra variabile. Con i tipi valore, ogni variabile ha una propria copia dei dati e non è possibile che le operazioni su una variabile influiscano sull'altra (tranne nel caso del modificatore ByRef sui parametri).
Tipi di valore
Un tipo di dati è un tipo valore se contiene i dati all'interno della propria allocazione di memoria. I tipi valore includono quanto segue:
Tutti i tipi di dati numerici
Boolean
,Char
eDate
Tutte le strutture, anche se i relativi membri sono tipi di riferimento
Enumerazioni, poiché il tipo sottostante è sempre
SByte
,Short
,Integer
,Long
,Byte
,UShort
,UInteger
oULong
Ogni struttura è un tipo valore, anche se contiene membri del tipo riferimento. Per questo motivo, i tipi valore come Char
e Integer
vengono implementati dalle strutture di .NET Framework.
È possibile dichiarare un tipo di valore usando la parola chiave riservata, Decimal
ad esempio . È anche possibile usare la New
parola chiave per inizializzare un tipo di valore. Ciò è particolarmente utile se il tipo ha un costruttore che accetta parametri. Un esempio è il Decimal(Int32, Int32, Int32, Boolean, Byte) costruttore , che crea un nuovo Decimal
valore dalle parti fornite.
Tipi di riferimento
Un tipo riferimento archivia un riferimento ai relativi dati. I tipi di riferimento includono quanto segue:
String
Tutte le matrici, anche se i relativi elementi sono tipi di valore
Tipi di classe, ad esempio Form
Delegati
Una classe è un tipo riferimento. Si noti che ogni matrice è un tipo riferimento, anche se i relativi membri sono tipi valore.
Poiché ogni tipo di riferimento rappresenta una classe .NET Framework sottostante, è necessario usare la parola chiave New Operator quando viene inizializzata. L'istruzione seguente inizializza una matrice.
Dim totals() As Single = New Single(8) {}
Elementi non tipi
Gli elementi di programmazione seguenti non sono qualificati come tipi, perché non è possibile specificare nessuno di essi come tipo di dati per un elemento dichiarato:
Namespace
moduli
Avvenimenti
Proprietà e procedure
Variabili, costanti e campi
Utilizzo del tipo di dati oggetto
È possibile assegnare un tipo riferimento o un tipo valore a una variabile del Object
tipo di dati. Una Object
variabile contiene sempre un riferimento ai dati, mai i dati stessi. Tuttavia, se si assegna un tipo di valore a una Object
variabile, si comporta come se contiene i propri dati. Per altre informazioni, vedere Tipo di dati object.
È possibile scoprire se una Object
variabile funge da tipo riferimento o tipo di valore passandola al metodo IsReference nella classe Information del namespace Microsoft.VisualBasic.
Information.IsReference restituisce True
se il contenuto della Object
variabile rappresenta un tipo riferimento.