Tipo de dados inteiro (Visual Basic)
Contém inteiros assinados de 32 bits (4 bytes) que variam em valor de -2.147.483.648 a 2.147.483.647.
Observações
O Integer
tipo de dados fornece um desempenho ideal em um processador de 32 bits. Os outros tipos integrais são mais lentos para carregar e armazenar de e para a memória.
O valor padrão de Integer
é 0.
Atribuições literais
Você pode declarar e inicializar uma Integer
variável atribuindo-lhe um literal decimal, um literal hexadecimal, um literal octal ou (a partir do Visual Basic 2017) um literal binário. Se o literal inteiro estiver fora do intervalo de (isto é, se for menor Int32.MinValue ou maior que Int32.MaxValue, ocorrerá um erro de Integer
compilação.
No exemplo a seguir, inteiros iguais a 90.946 que são representados como literais decimais, hexadecimais e binários são atribuídos a Integer
valores.
Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
Nota
Você usa o prefixo &h
ou &H
para denotar um literal hexadecimal, o prefixo &b
ou &B
para denotar um literal binário e o prefixo &o
ou &O
para denotar um literal octal. Os literais decimais não têm prefixo.
A partir do Visual Basic 2017, você também pode usar o caractere de sublinhado, _
, como um separador de dígitos para melhorar a legibilidade, como mostra o exemplo a seguir.
Dim intValue1 As Integer = 90_946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
A partir do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_
) como um separador à esquerda entre o prefixo e os dígitos hexadecimais, binários ou octais. Por exemplo:
Dim number As Integer = &H_C305_F860
Para usar o caractere de sublinhado como um separador à esquerda, você deve adicionar o seguinte elemento ao seu arquivo de projeto do Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para obter mais informações, consulte Selecione a versão da linguagem Visual Basic.
Os literais numéricos também podem incluir o I
caractere de tipo para denotar o Integer
tipo de dados, como mostra o exemplo a seguir.
Dim number = &H_035826I
Dicas de programação
Considerações de interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, como automação ou objetos COM, lembre-se de que
Integer
tem uma largura de dados diferente (16 bits) em outros ambientes. Se você estiver passando um argumento de 16 bits para esse componente, declare-o comoShort
em vez de em seu novo código doInteger
Visual Basic.Alargamento. O
Integer
tipo de dados é ampliado paraLong
,Decimal
,Single
, ouDouble
. Isso significa que você pode converterInteger
para qualquer um desses tipos sem encontrar um System.OverflowException erro.Digite caracteres. Anexar o caractere
I
de tipo literal a um literal força-oInteger
ao tipo de dados. Anexar o caractere%
de tipo de identificador a qualquer identificador força-o aInteger
.Tipo de estrutura. O tipo correspondente no .NET Framework é a System.Int32 estrutura.
Intervalo
Se você tentar definir uma variável de um tipo integral para um número fora do intervalo para esse tipo, ocorrerá um erro. Se você tentar defini-lo como uma fração, o número será arredondado para cima ou para baixo para o valor inteiro mais próximo. Se o número estiver igualmente próximo de dois valores inteiros, o valor será arredondado para o número inteiro par mais próximo. Esse comportamento minimiza erros de arredondamento que resultam do arredondamento consistente de um valor de ponto médio em uma única direção. O código a seguir mostra exemplos de arredondamento.
' The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
' The following statement causes an error because the value is too large.
k = 2147483648
' The following statement sets k to 6.
k = 5.9
' The following statement sets k to 4
k = 4.5
' The following statement sets k to 6
' Note, Visual Basic uses banker’s rounding (toward nearest even number)
k = 5.5