Tempo de vida no Visual Basic
The time de vida de um elemento declarado é o período de time durante o qual ele está disponível para uso.Variáveis são os únicos elementos que têm tempo de vida.Para esse fim, o compilador trata sistema autônomo parâmetros do procedimento e função retorna sistema autônomo casos especiais de variáveis.O time de vida de uma variável representa o período de time durante o qual ele pode armazenar um valor.Seu valor pode alterar durante sua tempo de vida, mas ele sempre contém algum valor.
Tempos de vida diferentes
A variável de membro (declarado no nível de módulo, fora de qualquer procedimento) normalmente tem a tempo de vida mesma que o elemento no qual é declarada.Existe uma variável compartilhada declarada em uma classe ou estrutura sistema autônomo uma cópia separada para cada instância da classe ou estrutura na qual é declarada.Cada tal variável tem o mesmo tempo de vida sistema autônomo sua instância.No entanto, um Shared variável tem apenas uma vida única, que dura o time todo que seu aplicativo estiver sendo executado.
A variável local (declarada dentro de um procedimento) existe somente enquanto estiver sendo executado o procedimento no qual é declarada.Isso se aplica também aos parâmetros do procedimento e a qualquer função de retorno.No entanto, se esse procedimento chama a outros procedimentos, variáveis locais retêm seus valores com os procedimentos chamados em execução.
Início do tempo de vida
Tempo de vida da variável local começa quando o controle entrar no procedimento no qual é declarada.Cada variável local é inicializado para o valor padrão para seu tipo de dados sistema autônomo logo sistema autônomo o procedimento começa em execução.Quando o procedimento encontra um Dim demonstrativo que especifica valores iniciais, ele define essas variáveis para esses valores, mesmo se seu código já tinha atribuído outros valores a eles.
Cada membro de uma variável de estrutura é inicializado sistema autônomo se fosse uma variável separada.Da mesma forma, cada elemento de uma variável de matriz é inicializado individualmente.
Variáveis declaradas dentro de um bloco dentro de um procedimento (por exemplo, um For loop) são inicializadas na entrada para o procedimento. Esses inicializações efeito se o seu código nunca executa o bloco ou não.
participante da tempo de vida
Quando um procedimento é encerrado, os valores das suas variáveis locais não são preservados e Visual Basic recupera sua memória. A próxima time chamar o procedimento, todas as variáveis locais são criadas afresh e reinicializadas.
Ao termina uma instância de uma classe ou estrutura, suas variáveis compartilhadas perder sua memória e seus valores.Cada nova instância da classe ou estrutura cria e reinicializa suas variáveis compartilhadas.No entanto, Shared as variáveis são preservadas até que seu aplicativo interrompe a execução.
Extensão da tempo de vida
Se você declarar uma variável local com o Static palavra-chave, sua time de vida é maior do que o time de execução de seu procedimento. A tabela a seguir mostra como a declaração procedimento determina quanto tempo um Static variável existe.
Compartilhamento e de procedimento local |
estático começa a tempo de vida da variável |
tempo de vida da variável estática extremidades |
---|---|---|
Em um módulo (compartilhado por padrão) |
A primeira time o procedimento é chamado |
Quando o aplicativo parar a execução |
Em uma classe ou estrutura, Shared (procedimento não é um membro de instância) |
A primeira time o procedimento é chamado em uma instância específica ou no nome da classe ou estrutura própria |
Quando o aplicativo parar a execução |
Em uma instância de uma classe ou estrutura, não Shared (procedimento é um membro de instância) |
Na primeira vez em que o procedimento é chamado na instância específica |
Quando a instância é liberada para a coleta de lixo (GC) |
Consulte também
Tarefas
Como: Aumentar o tempo de vida da variável
Solucionando problemas de Tipos de Dados
Conceitos
Níveis de acesso em Visual Basic
Declaração de variável no Visual Basic
Referência
Compartilhamento (Visual Basic)