Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Basicben kétféle típus létezik: referenciatípusok és értéktípusok. A referenciatípusok változói az adataikra (objektumaikra) mutató hivatkozásokat tárolnak, míg az értéktípusok változói közvetlenül tartalmazzák az adataikat. Referenciatípusok esetében két változó hivatkozhat ugyanarra az objektumra; ezért az egyik változón végzett műveletek hatással lehetnek a másik változó által hivatkozott objektumra. Az értéktípusok esetében minden változó saját másolatot készít az adatokról, és az egyik változó műveletei nem befolyásolhatják a másikat (kivéve a paraméterek ByRef módosítóját).
Értéktípusok
Az adattípus akkor értéktípus , ha az adatokat a saját memóriafoglalásán belül tárolja. Az értéktípusok a következők:
Minden numerikus adattípus
Boolean,CharésDateMinden struktúra, még akkor is, ha tagjai referenciatípusok
Enumerálások, mivel a mögöttes típusuk mindig
SByte,Short,Integer,Long,Byte,UShort,UInteger, vagyULong
Minden struktúra értéktípus, még akkor is, ha hivatkozástípus-tagokat tartalmaz. Ezért az olyan értéktípusokat, mint Char és Integer, a .NET-keretrendszer struktúrái implementálják.
Értéktípust deklarálhat például Decimala fenntartott kulcsszóval. A kulcsszóval New is inicializálhat egy értéktípust. Ez különösen akkor hasznos, ha a típus olyan konstruktorsal rendelkezik, amely paramétereket vesz fel. Erre példa a Decimal(Int32, Int32, Int32, Boolean, Byte) konstruktor, amely egy új Decimal értéket hoz létre a megadott alkatrészekből.
Referenciatípusok
A referenciatípusok az adataira mutató hivatkozást tárolnak. A referenciatípusok a következők:
StringMinden tömb, még akkor is, ha az elemei értéktípusok
Osztálytípusok, például Form
Delegáltak
Az osztály egy referenciatípus. Vegye figyelembe, hogy minden tömb referenciatípus, még akkor is, ha tagjai értéktípusok.
Mivel minden referenciatípus egy mögöttes .NET-keretrendszerosztályt jelöl, az inicializáláskor az Új operátor kulcsszót kell használnia. Az alábbi utasítás inicializál egy tömböt.
Dim totals() As Single = New Single(8) {}
Típusnak nem minősülő elemek
A következő programozási elemek nem minősülnek típusoknak, mert egyiket sem adhatja meg adattípusként egy deklarált elemhez:
Névterek
Modulok
Események
Tulajdonságok és eljárások
Változók, állandók és mezők
Az objektum adattípusának használata
Hivatkozástípust vagy értéktípust is hozzárendelhet az Object adattípus változóihoz. A Object változók mindig hivatkoznak az adatokra, és nem magára az adatokra. Ha azonban értéktípust rendel hozzá egy Object változóhoz, az úgy viselkedik, mintha saját adatokat tárol. További információ: Objektum adattípusa.
Azt, hogy egy Object változó hivatkozástípusként vagy értéktípusként működik-e, megtudhatja úgy, hogy átadja a(z) IsReference metódusnak a(z) Information osztályban, mely a(z) Microsoft.VisualBasic névtér része.
Information.IsReference akkor adja True vissza, ha a Object változó tartalma hivatkozástípust jelöl.