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 |
---|---|---|---|
Depende da implementação da plataforma |
True ou False |
||
1 byte |
0 a 255 (sem assinatura) |
||
Char (caractere único) |
2 bytes |
0 a 65535 (sem assinatura) |
|
8 bytes |
0: 00: 00 (meia-noite) em 1 º de janeiro, 11: 59: 0001 até 59 PM em 31 de dezembro, 9999 |
||
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) |
8 bytes |
-1.79769313486231570E + 308 a - 4.94065645841246544E-324 † para valores negativos; 4.94065645841246544E - 324 a 1.79769313486231570E + 308 † para valores positivos |
|
4 bytes |
-2.147.483.648 a 2.147.483.647 (assinado) |
||
Longo (inteiro longo) |
8 bytes |
-9.223.372.036.854.775.808 através de 9.223.372.036.854.775.807 (9.2... E + 18 †) (assinado) |
|
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 |
|
1 byte |
-128 through 127 (signed) |
||
Curto (inteiro curto) |
2 bytes |
-32,768 through 32,767 (signed) |
|
Único ponto (flutuante de precisão simples) |
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 |
4 bytes |
0 a 4.294.967.295 (sem assinatura) |
||
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 |
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
Uso eficiente de tipos de dados