Compartilhar via


Escopo de variável para usuários do Visual Basic 6.0

Visual Basic 2008 atualiza escopo de variável local para oferecer suporte a escopo de bloco e melhorar a programação estruturada.

Visual Basic 6,0

No Visual Basic 6.0, qualquer variável declarada dentro de um procedimento tem escopo de procedimento, então ela pode ser acessada de qualquer lugar dentro do mesmo procedimento.Se a variável é declarada dentro de um bloco — isto é, um conjunto de instruções finalizada por um End, Loop, ou Next demonstrativo — a variável está ainda acessível fora do bloco.

O exemplo a seguir ilustra escopo de procedimento, onde o bloco é um For loop:

For I = 1 To 10

Dim N As Long = 0

' N has procedure scope although it was declared within a block.

N = N + Incr(I)

Next I

W = Base ^ N

' N is still visible outside the block it is declared in.

Visual Basic 2005

In Visual Basic 2008, uma variável declarada dentro de um bloco tem escopo de bloco e não está acessível de fora do bloco. O exemplo anterior pode ser reescrito da seguinte forma:

Dim N As Long = 0
' N is declared outside the block and has procedure scope. 
For I As Integer = 1 To 10
    ' I is declared by the For statement and therefore within the block. 
    N = N + Incr(I)
Next I
w = Base ^ N
' N is visible outside the block but I is not. 

Porque o For demonstrativo declara I sistema autônomo parte do For bloco, I tem escopo de bloco somente.

No entanto, o tempo de vida de uma variável é ainda aquele do procedimento inteiro.Isto é verdadeiro quer a variável tenha escopo de bloco quer tenha escopo de procedimento.Se você declarar uma variável dentro de um bloco e entrar nesse bloco várias vezes durante o tempo de vida do procedimento, você deve inicializar a variável para evitar valores inesperados.

Consulte também

Conceitos

Sumário para programação de mudanças em elementos de suporte