Udostępnij za pośrednictwem


Typ danych — Podsumowanie (Visual Basic)

W poniższej tabeli przedstawiono typy danych języka Visual Basic, ich towarzyszące language runtime typowych, ich alokację nominalna magazynowania i ich zakresy wartości.

Typ języka Visual Basic

Wspólna struktura typu środowiska wykonawczego języka

Alokacja nominalna magazynowania

Zakres wartości

Wartość logiczna

Boolean

Zależy od tego, wdrożenie platformy

True lub False

Bajt

Byte

1 bajt

od 0 do 255 (bez znaku)

Char (pojedynczy znak)

Char

2 bajty

od 0 do 65535 (bez znaku)

Data

DateTime

8 bajtów

0: 00: 00 (północ) na dzień 1 stycznia, 0001 do 11: 59: 59 PM 31 grudnia 9999

Wartość dziesiętna

Decimal

16 bajtów

od 0 do +/-79,228,162,514,264,337,593,543,950,335 (+/-7,9... E + 28) † z przecinka dziesiętnego; od 0 do +/-7.9228162514264337593543950335 z 28 miejscami po prawej stronie separatora dziesiętnego;

najmniejszą liczbę różną od zera jest +/-0,0000000000000000000000000001 (+/-1E-28) †

Podwójna (podwójnej precyzji zmiennoprzecinkowych)

Double

8 bajtów

-1.79769313486231570E + 308 do - 4.94065645841246544E-324 † dla wartości ujemnych;

4.94065645841246544E-324 poprzez 1.79769313486231570E + 308 † dla wartości dodatnich

Liczba całkowita

Int32

4 bajty

648 do 2 147 483 647 (podpisane)

Długi (liczba całkowita długa)

Int64

8 bajtów

-9,223,372,036,854,775,808 przez 9,223,372,036,854,775,807 (9.2... E + 18 †) (podpisane)

Obiekt

Object(klasa)

4 bajty na 32-bitowej platformie

8 bajtów na platformie 64-bitowych

Dowolnego typu mogą być przechowywane w zmiennej typuObject

SByte

SByte

1 bajt

od -128 do 127 (podpisane)

Krótki (krótka liczba całkowita)

Int16

2 bajty

-32 768 do 32 767 (podpisane)

Pojedynczy (Pojedyncza precyzja zmiennoprzecinkowych)

Single

4 bajty

-3.4028235E + 38 do - 1, 401298E-45 † dla wartości ujemnych;

1, 401298E-45, poprzez 3.4028235E + 38 † dla wartości dodatnich

Ciąg (o zmiennej długości)

String(klasa)

Zależy od tego, wdrożenie platformy

0 do około 2 mld znaków Unicode

UInteger

UInt32

4 bajty

od 0 do 4 294 967 295 (bez znaku)

ULong

UInt64

8 bajtów

od 0 do 18,446,744,073,709,551,615 (1,8... E + 19 †) (unsigned)

Zdefiniowane przez użytkownika (struktura)

(dziedziczy z ValueType)

Zależy od tego, wdrożenie platformy

Każdy element członkowski struktury ma zakres określony przez typ danych oraz niezależne od zakresów innych członków

UShort

UInt16

2 bajty

od 0 do 65 535, (unsigned)

† w Notacja naukowa, "E" odnosi się do potęgi liczby 10.Tak, aby 3.56E + 2 oznacza 3.56 x 102 lub 356 i 3.56E-2 oznacza 3.56 / 102 lub 0.0356.

[!UWAGA]

Ciągi zawierające tekst, użyj StrConv funkcji konwersji z formatu tekstu do innego.

Oprócz określenia typu danych w instrukcji deklaracji, można wymusić typ danych, niektóre elementy programowania przy użyciu znaku typu.Zobacz Znaki typu.

Zużycie pamięci

Przy deklarowaniu typem danych podstawowych, to nie można założyć, że użycie pamięci jest taki sam jak jego alokacja nominalna magazynowania.Jest to spowodowane następujące kwestie:

  • Przydział pamięci masowej. Aparat plików wykonywalnych języka wspólnego można przypisać pamięci masowej w oparciu o bieżący cechy platformy, na którym aplikacja jest wykonywany.Jeśli pamięć jest prawie pełny, to może spakować elementy zostały deklarowanych jako ściśle ze sobą, jak to możliwe.W pozostałych przypadkach to może być dostosowanie ich adresy pamięci, aby granice naturalne sprzętu w celu zoptymalizowania wydajności.

  • Szerokość platformy. Przydział magazynowania na 64-bitowej platformie różni się od przydziału na 32-bitowej platformie.

Złożone typy danych

To samo ma zastosowanie dla każdego z członków złożonego typu danych, takich jak struktury lub tablicy.Nie można polegać po prostu zsumowanie alokacje nominalna magazynowania elementów członkowskich typu.Ponadto istnieją inne względy, takie jak następujące:

  • Obciążenie. Niektóre typy złożone mają wymagań dodatkowej pamięci.Na przykład tablicy używa dodatkowej pamięci dla macierzy, sam, a także dla każdego wymiaru.Na platformie 32-bitowe to obciążenie jest obecnie 12 bajtów plus 8 bajtów dla każdego wymiaru.Wymóg ten jest na platformie 64-bitowych dwukrotnie.

  • Układ pamięci masowej. Nie można bezpiecznie zakładać, że kolejność przechowywania w pamięci jest taki sam, jak zamówienia zgłoszenia.Nawet nie może poczynić założeń wyrównanie bajt, takie jak obramowanie 2-bajtowe lub 4-bajtowe.Jeśli definiowania klasy lub struktury i konieczne jest kontrolowanie układu pamięci masowej, jego członków, można zastosować StructLayoutAttribute atrybut do klasy lub struktury.

Obciążenie obiektu

Object Odnoszące się do korzystania z danych podstawowych lub wieloskładnikowych typu używa 4 bajtów, oprócz danych znajdujących się na typ danych.

Zobacz też

Informacje

Funkcje konwersji typu (Visual Basic)

Konwersja — Podsumowanie (Visual Basic)

StrConv

StructLayoutAttribute

Koncepcje

Znaki typu

Skuteczne stosowanie typów danych (Visual Basic)