Compartilhar via


Resumo de tipo de dados (Visual Basic)

A tabela a seguir mostra os tipos de dados do Visual Basic, seus recursos de suporte Common linguagem tempo de execução tipos, a alocação de armazenamento nominal e seus intervalos de valores.

Tipo do Visual Basic

Common linguagem tempo de execução Digite estrutura

Alocação de armazenamento nominal

Intervalo de valores

Boolean

Boolean

Depende da implementação da plataforma

True ou False

Byte

Byte

1 byte

0 a 255 (sem assinatura)

Char (caractere único)

Char

2 bytes

0 a 65535 (sem assinatura)

Date

DateTime

8 bytes

0: 00: 00 (meia-noite) em 1 º de janeiro, 11: 59: 0001 até 59 PM em 31 de dezembro, 9999

Decimal

Decimal

16 bytes

0 a +/-79.228.162.514.264.337.593.543.950.335 (+/-7,9... E + 28) † sem ponto decimal; de 0 a +/-7,9228162514264337593543950335 com 28 casas à direita do decimal;

menor número diferente de zero é +/-0,0000000000000000000000000001 (+/-1E-28) †

Duplo ponto (flutuante de precisão dupla)

Double

8 bytes

-1.79769313486231570E + 308 a - 4.94065645841246544E-324 † para valores negativos;

4.94065645841246544E - 324 a 1.79769313486231570E + 308 † para valores positivos

Integer

Int32

4 bytes

-2.147.483.648 a 2.147.483.647 (assinado)

Longo (inteiro longo)

Int64

8 bytes

-9.223.372.036.854.775.808 através de 9.223.372.036.854.775.807 (9.2... E + 18 †) (assinado)

Objeto

Object (classe)

4 bytes em plataforma de 32 bit

8 bytes em plataforma de 64 bit

Qualquer tipo pode ser armazenado em uma variável do tipo Object

SByte

SByte

1 byte

-128 through 127 (signed)

Curto (inteiro curto)

Int16

2 bytes

-32,768 through 32,767 (signed)

Único ponto (flutuante de precisão simples)

Single

4 bytes

-3.4028235E + 38 a - 1, 401298E-45 † para valores negativos;

1, 401298E - 45 através de 3.4028235E + 38 † para valores positivos

Seqüência de caracteres (com comprimento variável)

String (classe)

Depende da implementação da plataforma

0 a aproximadamente 2 bilhões Unicode de caracteres

UInteger

UInt32

4 bytes

0 a 4.294.967.295 (sem assinatura)

ULong

UInt64

8 bytes

0 a 18,446,744,073,709,551,615 (1,8... E + 19 †) (não assinado)

Definido pelo usuário (estrutura)

(herda de ValueType)

Depende da implementação da plataforma

Cada membro da estrutura tem um intervalo determinado pelo tipo de dados e independente dos intervalos dos outros membros

UShort

UInt16

2 bytes

0 a 65.535 (sem assinatura)

† In notação científica, "E" refere-se a uma potência de 10.Portanto, 3.56E + 2 significa 3.56 x 102 ou 356 e 3.56E-2 significa 3.56 / 102 ou 0.0356.

Observação:

Para seqüências de caracteres contendo texto, use o StrConv função para converter de um formato de texto para outro.

Consumo de memória

Quando você declara um tipo de dados elementar, não é seguro sistema autônomo soma seu consumo de memória é o mesmo sistema autônomo sua alocação de armazenamento nominal.Isso ocorre devido a considerações a seguir:

  • Atribuição de armazenamento. O common linguagem tempo de execução pode atribuir o armazenamento com base nas características corrente da plataforma na qual seu aplicativo está em execução.Se a memória estiver quase cheia, ele pode compactar seus elementos declarados sistema autônomo intimamente juntos possível.Em outros casos ela pode alinhar seus endereços de memória em limites de hardware natural para otimizar o desempenho.

  • Largura de plataforma. Atribuição de armazenamento em uma plataforma de 64 bit é diferente da atribuição em uma plataforma de 32 bit.

Tipos de dados compostos

sistema autônomo mesmas considerações se aplicam a cada membro de um tipo de dados composto, sistema autônomo uma estrutura ou uma matriz.Você não pode depender simplesmente adicionando juntas as alocações de armazenamento nominal de membros do tipo.Além disso, existem outras considerações, sistema autônomo o seguinte:

  • Sobrecarga. Alguns tipos compostos têm requisitos de memória adicional.Por exemplo, uma matriz usa memória extra para o próprio array e também para cada dimensão.Em uma plataforma de 32 bit, essa sobrecarga é atualmente 12 bytes mais de 8 bytes para cada dimensão.Em uma plataforma de 64 bit esse requisito é dobrado.

  • Layout de armazenamento. Você não pode presumir com segurança que a ordem de armazenamento na memória é igual a sua ordem de declaração.Ainda não é possível fazer suposições sobre o alinhamento de byte, sistema autônomo um limite de 2 bytes ou 4 bytes.Se você está definindo uma classe ou estrutura e precisa controlar o layout de armazenamento de seus membros, você pode aplicar o StructLayoutAttribute atributo à classe ou estrutura.

Sobrecarga de objeto

An Object referindo-se a qualquer tipo de dados elementar ou compostos usa 4 bytes em conjunto com os dados contidos no tipo de dados.

Consulte também

Conceitos

Caracteres de Tipo.

Uso eficiente de tipos de dados

Referência

Funções de conversão de tipo 

Resumo de conversão

Função SeqConv

StructLayoutAttribute