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.
Az alábbi táblázat a Visual Basic adattípusait, a támogatott közös nyelvi futtatókörnyezet-típusokat, a névleges tárterület-foglalásukat és az értéktartományukat mutatja be.
| Visual Basic típus | Gyakori nyelvi futtatókörnyezet-típusstruktúra | Névleges tárterület-kiosztás | Értéktartomány |
|---|---|---|---|
| boolean | Boolean | A platform implementálásától függ |
True vagy False |
| Byte | Byte | 1 bájt | 0–255 (aláíratlan) |
| Karakter (egyetlen karakter) | Char | 2 bájt | 0–65535 (aláíratlan) |
| Dátum | DateTime | 8 bájt | 0:00:00 (éjfél) január 1-jén 0:59:59-ig 9999. december 31-én |
| decimális | Decimal | 16 bájt | 0 és +/-79 228 162 514 264 337 593 543 950 335 (+/-7,9...E+28) † tizedesvessző nélkül; 0–+/-7,9228162514264337593543950335 28 hellyel a tizedesvessző jobb oldalán; legkisebb nemzero szám +/-0,00000000000000000000000001 (+/-1E-28) † |
| Dupla (dupla pontosságú lebegőpontos) | Double | 8 bájt | -1.79769313486231570E+308–-4.94065645841246544E-324 † negatív értékek esetén; 4.94065645841246544E-324-1,79769313486231570E+308 † pozitív értékek esetén |
| egész szám | Int32 | 4 bájt | -2 147 483 648–2 147 483 647 (aláírt) |
| Hosszú (hosszú egész szám) | Int64 | 8 bájt | -9 223 372 036 854 775 808 és 9 223 372 036 854 775 807 (9,2...E+18 †) (aláírt) |
| Objektum | Object (osztály) | 4 bájt 32 bites platformon 8 bájt 64 bites platformon |
Bármilyen típus tárolható egy típusváltozóban Object |
| SByte | SByte | 1 bájt | -128–127 (aláírt) |
| Rövid (rövid egész szám) | Int16 | 2 bájt | -32 768–32 767 (aláírt) |
| Egypontos (egypontos lebegőpontos) | Single | 4 bájt | -3.4028235E+38–-1.401298E-45 † negatív értékek esetén; 1.401298E-45–3,4028235E+38 † pozitív értékek esetén |
| Sztring (változóhossz) | String (osztály) | A platform implementálásától függ | 0–körülbelül 2 milliárd Unicode-karakter |
| UInteger | UInt32 | 4 bájt | 0–4 294 967 295 (aláíratlan) |
| ULong | UInt64 | 8 bájt | 0–18 446 744 073 709 551 615 (1,8...E+19 †) (aláíratlan) |
| Felhasználó által definiált (struktúra) | (örökli a ValueType) | A platform implementálásától függ | A struktúra minden tagja rendelkezik egy adattípus által meghatározott tartománysal, amely független a többi tag tartományától |
| UShort | UInt16 | 2 bájt | 0–65 535 (aláíratlan) |
† A tudományos jelölésben az "E" a 10-et jelenti. Tehát a 3.56E+2 3,56 x 102 vagy 356, a 3.56E-2 pedig a 3.56 / 102 vagy 0.0356 jelzést jelöli.
Megjegyzés:
Szövegeket tartalmazó sztringek esetén a StrConv függvény használatával alakíthatja át az egyik szövegformátumot egy másikra.
Az adattípus deklarációs utasításban való megadása mellett bizonyos programozási elemek adattípusát is kényszerítheti egy típuskaraktérrel. Lásd : Típuskarakterek.
Memóriahasználat
Elemi adattípus deklarálása esetén nem biztonságos feltételezni, hogy a memóriahasználata megegyezik a névleges tárterület-lefoglalással. Ez a következő szempontoknak köszönhető:
Tárterület-hozzárendelés. A közös nyelvi futtatókörnyezet a tárolót annak a platformnak az aktuális jellemzői alapján rendelheti hozzá, amelyen az alkalmazás fut. Ha a memória majdnem megtelt, a lehető legszorosabban összecsomagolhatja a deklarált elemeket. Más esetekben a teljesítmény optimalizálása érdekében a memóriacímeket a természetes hardverhatárokhoz igazíthatja.
Platformszélesség. A 64 bites platformon a tárterület-hozzárendelés eltér a 32 bites platformon való hozzárendeléstől.
Összetett adattípusok
Ugyanezek a szempontok vonatkoznak az összetett adattípusok minden egyes tagjára, például egy struktúrára vagy tömbre. Nem hagyatkozhat arra, hogy egyszerűen összeadja a típus tagjainak névleges tárterület-lefoglalásait. Egyéb szempontokat is figyelembe kell venni, például a következőket:
Felső. Egyes összetett típusok további memóriakövetelményekkel rendelkeznek. Egy tömb például extra memóriát használ magának a tömbnek és az egyes dimenzióknak is. Egy 32 bites platformon ez a többletterhelés jelenleg 12 bájt plusz 8 bájt minden dimenzióhoz. Egy 64 bites platformon ez a követelmény megduplázódik.
Tárolási elrendezés. Nem feltételezheti biztonságosan, hogy a memória tárolási sorrendje megegyezik a deklarálási sorrenddel. A bájtok igazításával kapcsolatos feltételezéseket, például a 2 bájtos vagy a 4 bájtos határt sem lehet feltételezni. Ha osztályt vagy struktúrát definiál, és szabályoznia kell a tagok tárolási elrendezését, alkalmazhatja az StructLayoutAttribute attribútumot az osztályra vagy a struktúrára.
Objektumterhelés
Bármely Object elemi vagy összetett adattípusra való hivatkozás 4 bájtot használ az adattípusban található adatokon kívül.