Sdílet prostřednictvím


Souhrn datových typů (Visual Basic)

V následující tabulce jsou uvedeny datové typy jazyka Visual Basic, jejich podpůrné běžné typy jazykového modulu runtime, jejich přidělení nominální úložiště a jejich rozsahů hodnot.

Typ jazyka Visual Basic

Společná struktura typu runtime jazyka

Jmenovité pro ukládání

Rozsah hodnot

Logická

Boolean

Závisí na implementaci platformy

True nebo False

Byte

Byte

1 bajt

0 až 255 (bez znaménka)

Char (znak)

Char

2 bajty

0 až 65535 (bez znaménka)

Datum

DateTime

8 bajtů

0: 00: 00 (půlnoc) na 1. ledna 0001 až 11: 59: 59 odp na 31. prosince 9999.

Desetinné číslo

Decimal

16 bajtů

0 až +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9... E + 28) † s bez desetinné čárky; 0 až +/-7,9228162514264337593543950335 28 míst napravo od desetinné čárky;

nejmenší nenulové číslo je +/-0,0000000000000000000000000001 (+/-1E-28) †

Dvojité (s dvojitou přesností a plovoucí desetinnou čárkou)

Double

8 bajtů

-1.79769313486231570E + 308 prostřednictvím - 4.94065645841246544E-324 † pro záporné hodnoty;

4.94065645841246544E-324 až 1.79769313486231570E + 308 † pro kladné hodnoty

Integer

Int32

4 bajty

648 až 2 147 483 647 (podepsaný)

Dlouhý (dlouhé celé číslo)

Int64

8 bajtů

-9,223,372,036,854,775,808 až 9,223,372,036,854,775,807 (9.2... E + 18 †) (podepsaný)

Objekt

Object(třída)

4 bajty na 32bitovou platformu

8 bajtů na 64bitovou platformu

Každý typ lze uložit v proměnné typuObject

SByte

SByte

1 bajt

-128 až 127 (podepsaný)

Krátké (krátké celé číslo)

Int16

2 bajty

-32 768 do 32 767 (podepsaný)

Jeden (jednoduchou přesností a plovoucí desetinnou čárkou)

Single

4 bajty

-3.4028235E + 38 - 1, 401298E-45 † pro záporné hodnoty;

401298E-45 až 3.4028235E + 38 † pro kladné hodnoty

Řetězec (délky)

String(třída)

Závisí na implementaci platformy

0 na přibližně 2 miliardy znaků Unicode

UInteger

UInt32

4 bajty

0 až 4 294 967 295 (bez znaménka)

ULong

UInt64

8 bajtů

0 až 18,446,744,073,709,551,615 (1.8... E + 19 †) (bez znaménka)

Uživatelem definované (struktura)

(dědí z ValueType)

Závisí na implementaci platformy

Každý člen struktury má rozsah zakládá jeho datový typ a nezávislých oblastí ostatních členů

UShort

UInt16

2 bajty

0 až 65 535 (bez znaménka)

† v Matematický zápis, "E" se vztahuje k násobkem 10.Tak 3.56E + 2 znamená 3.56 x 102 nebo 356 a 3.56E-2 označuje 3.56 / 102 nebo 0.0356.

[!POZNÁMKA]

Řetězce obsahující text, použijte StrConv funkci, kterou chcete převést z jednoho formátu do druhého.

Navíc při určování typu v příkazu deklarace, můžete vynutit datový typ některých programovací prvky pomocí znaků typu.Viz téma Znaky typu (Visual Basic).

Spotřeba paměti

Při deklaraci základní datový typ není bezpečné předpokládat, že jeho paměťové nároky je stejná jako jeho rozdělení nominální úložiště.Je to způsobeno následující skutečnosti:

  • Přiřazení úložiště. Společný jazykový modul runtime můžete přidělit úložiště založené na aktuální vlastnosti platformy, na kterém se provádí aplikace.V případě, že paměť je téměř zaplněna, jej může dohromady co nejvíce pack deklarované elementů nejvíce.V ostatních případech je pravděpodobně zarovnat jejich adresy paměti fyzické hardwarové hranice za účelem optimalizace výkonu.

  • Šířka platformy. Přiřazení úložiště na 64bitovou platformu se liší od přiřazení na 32bitovou platformu.

Složené datové typy

Úvahy platí pro každého člena složený datový typ, například strukturu nebo matice.Nemůžete spoléhat na jednoduše sečtením přidělení úložiště nominální členů tohoto typu.Kromě toho existují další aspekty, jako je například následující:

  • Režijní náklady. Některé složené typy mají dalších požadavků na paměť.Například pole používá dodatečnou paměť pro pole sám a také pro každou dimenzi.Na 32bitové platformě toto zatížení je aktuálně 12 bajtů plus 8 bajtů pro každou dimenzi.Na 64bitové platformě se zdvojnásobí tento požadavek.

  • Rozložení úložiště. Nelze předpokládat bezpečně pořadí úložiště v paměti je stejný jako vaše objednávka prohlášení.Nemůžete dokonce předpoklady o bajt zarovnání, například hranice 2 byte nebo 4 bajt.Pokud definujete třídu nebo strukturu a je nutné určit rozložení úložiště ze svých členů, je možné použít StructLayoutAttribute atribut třídy nebo struktury.

Objekt režie

Object Vztahující se k libovolným datům elementární nebo složený typ používá 4 bajty kromě údajů obsažených v datovém typu.

Viz také

Referenční dokumentace

Funkce pro převod typů (Visual Basic)

Souhrn konverze (Visual Basic)

StrConv

StructLayoutAttribute

Koncepty

Znaky typu (Visual Basic)

Účinné používání datových typů (Visual Basic)