Declaração de variável no Visual Basic

Você declara uma variável para especificar seu nome e características. A instrução de declaração para variáveis é a Instrução Dim. Sua localização e conteúdo determinam as características da variável.

Para obter regras e considerações de nomenclatura variável, consulte Nomes de elementos declarados.

Níveis de declaração

Variáveis locais e membros

Uma variável local é aquela declarada dentro de um procedimento. Uma variável membro é um membro de um tipo do Visual Basic; ela é declarada no nível do módulo, dentro de uma classe, estrutura ou módulo, mas não dentro de qualquer procedimento interno para essa classe, estrutura ou módulo.

Variáveis compartilhadas e de instância

Em uma classe ou estrutura, a categoria de uma variável de membro depende se ela é compartilhada ou não. Se for declarada com a palavra-chave Compartilhada, ela será uma variável compartilhada e existirá em uma única cópia compartilhada entre todas as instâncias da classe ou estrutura.

Caso contrário, ela é uma variável de instância e uma cópia separada dela é criada para cada instância da classe ou estrutura. Uma determinada cópia de uma variável de instância está disponível apenas para a instância da classe ou estrutura na qual ela foi criada. Ela é independente de uma cópia da variável de instância em qualquer outra instância da classe ou estrutura.

Declarar o tipo de dados

A cláusula Como na instrução de declaração permite que você defina o tipo de dados ou o tipo de objeto da variável que você está declarando. Você pode especificar qualquer um dos seguintes tipos para uma variável:

  • Um tipo de dados elementares, como Boolean, Long ou Decimal

  • Um tipo de dados composto, como uma matriz ou estrutura

  • Um tipo de objeto, ou classe, definido no seu aplicativo ou em outro aplicativo

  • Uma classe .NET Framework, como Label ou TextBox

  • Um tipo de interface, como IComparable ou IDisposable

Você pode declarar várias variáveis em uma instrução sem precisar repetir o tipo de dados. Nas instruções a seguir, as variáveis i, j e k são declaradas como tipo Integer, l e m como Long, x e y como Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Para obter mais informações sobre tipos de dados, confira Tipos de dados. Para obter mais informações sobre objetos, consulte Objetos e classes e Programação com componentes.

Inferência de tipo local

Inferência de tipo é usada para determinar os tipos de dados das variáveis locais declaradas sem uma cláusula As. O compilador infere o tipo da variável com base no tipo da expressão de inicialização. Isso permite que você declare variáveis sem especificar de maneira explícita um tipo. No exemplo a seguir, num1 e num2 são classificados como inteiros.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Se você quiser usar a inferência de tipo local, Option Infer deverá ser definido como On. Para obter mais informações, consulte Inferência de tipo de variável local e Instrução Option Infer.

Características de variáveis declaradas

O tempo de vida de uma variável é o período de tempo durante o qual ela está disponível para uso. Em geral, uma variável existe se o elemento que a declara (como um procedimento ou classe) continua a existir. Se a variável não precisar continuar existindo além do tempo de vida do elemento que contém, você não precisará fazer nada especial na declaração. Se a variável precisar continuar existindo por mais tempo do que o elemento que a contém, você poderá incluir a palavra-chave Static ou Shared na sua instrução Dim. Para obter mais informações, confira Tempo de vida no Visual Basic.

O escopo de uma variável é o conjunto de todos os códigos que podem se referir a ela sem qualificar seu nome. O escopo de uma variável é determinado pelo local onde ela é declarada. O código localizado em uma determinada região pode usar as variáveis definidas nessa região sem precisar qualificar seus nomes. Para obter mais informações, consulte Escopo no Visual Basic.

O nível de acesso de uma variável é a extensão do código que tem permissão para acessá-lo. Isso é determinado pelo modificador de acesso (como público ou privado) que você usa na instrução Dim. Para obter mais informações, consulte Níveis de acesso no Visual Basic.

Confira também