Opção EXPLICIT e Option Strict no Visual Basic .NET e no Visual Basic

Traduções deste artigo Traduções deste artigo
ID do artigo: 311329 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve duas instruções de opção :
  • opção Strict
  • opção EXPLICIT
Opção Strict é novo no Microsoft Visual Basic. NET, Microsoft Visual Basic 2005 e em versões posteriores do Visual Basic. Opção EXPLICIT está disponível em versões anteriores do Visual Basic.

Mais Informações

A instrução Option Explicit

Por padrão, o Visual Basic .NET ou o compilador do Visual Basic aplica a declaração de variável explícita, que requer que você declare cada variável antes de usá-lo. Para alterar esse comportamento padrão, consulte Change the Default Project Values seção.

A instrução Option Strict

Por padrão, o Visual Basic .NET ou o compilador do Visual Basic não impõe digitando dados estritos. Para alterar esse comportamento padrão, consulte Change the Default Project Values seção.

Opção Strict restringe conversões de tipo implícito dados para somente alargamento conversões. Conversões de expansão explicitamente não permitem conversões de qualquer tipo de dados no qual perda de dados pode ocorrer e qualquer conversão entre tipos numéricos e seqüências de caracteres. Para obter mais informações sobre alargamento conversões, consulte Widening Conversions seção.

Quando você usa a instrução Option Strict , a instrução deve aparecer antes de qualquer outro código. No Visual Basic. NET, você pode normalmente converter qualquer tipo de dados em qualquer outro tipo de dados implicitamente. Perda de dados pode ocorrer quando o valor de um tipo de dados é convertido em um tipo de dados com menos precisão ou com uma capacidade menor. No entanto, você recebe uma mensagem de erro de tempo de execução se dados serão perdidos em tal conversão. Opção Strict notificará desses tipos de conversões em tempo de compilação para que você pode evitá-los.

Opção Strict também gera uma mensagem de erro nas seguintes situações:
  • Para qualquer variável não declarada. Isso ocorre porque Option Strict também implica Option Explicit .
  • Ligação tardia.

Alargamento conversões

A tabela a seguir lista o padrão alargamento conversões.

Recolher esta tabelaExpandir esta tabela
Tipo de dadosAmplia a tipos de dados
byte byte , Short , Integer , Long , decimal , Single , Double
curto curto , Integer , Long , decimal , Single , Double
número inteiro integer , Long , decimal , Single , Double
longo longo , decimal , Single , Double
decimal decimal , Single , Double
único único , duplo
duplo duplo
Qualquer tipo enumeradoSeu tipo inteiro base e qualquer tipo para o qual será ampliar
char char , String
Qualquer tipo objeto , qualquer interface que ele implementa
Qualquer tipo derivadoQualquer tipo de base do qual ele é derivado
NadaQualquer tipo de dados ou tipo de objeto

As seguintes conversões podem perder precisão:
  • inteiro como Single
  • longo a único ou duplo
  • decimal a único ou duplo
No entanto, essas conversões não perderá informações ou magnitude.

Conversões de expansão sempre terá êxito e você sempre pode realizar conversões de expansão implicitamente.

Conversão explícita com conversão

Uma conversão explícita usa uma palavra-chave do tipo de conversão. Visual Basic .NET ou Visual Basic 2005 fornece palavras-vários tal chave, que forçar uma expressão entre parênteses para o tipo de dados que você deseja. Essas palavras-chave se comportam como funções, mas o compilador gera o código embutido. Portanto, a execução é um pouco mais rápida com conversão explícita que com uma chamada de função.

A tabela a seguir lista as palavras-chave conversão disponível.
Recolher esta tabelaExpandir esta tabela
Conversão de tipo de palavra-chaveConverte expressões
para Tipo de dados
Permitido tipos de dados de expressão a ser convertido
CBool Boolean Qualquer tipo numérico (incluindo o byte e tipos enumerados), String , objeto
CByte byte Qualquer tipo numérico, qualquer tipo enumerado, Boolean , String , objeto
CChar char seqüência de caracteres , objeto
CDATA Data seqüência de caracteres , objeto
CDbl duplo Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CDec decimal Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CInt número inteiro Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CLng longo Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CObj objeto Qualquer tipo
CShort curto Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CSng único Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boolean , String , objeto
CStr seqüência de caracteres Qualquer tipo numérico (incluindo bytes ), Boolean , char , matriz char , Data , objeto
CType Tipo especificado após a vírgula ()Quando você converte em um tipo elementar (incluindo uma matriz de um tipo elementar), os mesmos tipos de como são permitidas para a palavra-chave conversão correspondente.

Quando você converter um tipo composto, as interfaces que ele implementa e as classes da qual ela herda.

Alterar os valores de projeto padrão

Você pode alterar os valores padrão de Option Strict e Option Explicit . Por exemplo, quando você cria um novo aplicativo usando o Visual Basic. NET, Visual Basic 2005 ou Visual Basic 2008, o valor para Option Explicit é definida como on . Você pode alterar esse valor padrão como off .

Para alterar os valores padrão de Option Explicit e Option Strict no Visual Basic. NET, clique em Opções no menu Ferramentas para abrir a caixa de diálogo Opções. Em seguida, altere os valores padrão para Option Explicit e Option Strict na seção de projetos e soluções de Padrões de VB .

Para alterar os valores padrão de Option Explicit e Option Strict no Visual Studio, clique em Opções no menu Ferramentas para abrir a caixa de diálogo Opções. Em seguida, altere os valores padrão para Option Explicit e Option Strict na seção de projetos e soluções de Padrões de VB .

Propriedades

ID do artigo: 311329 - Última revisão: quarta-feira, 19 de março de 2008 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio 2008 Academic Edition
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft Visual Studio 2008 Standard Edition
  • Microsoft Visual Studio 2008 Team Edition for Database Professionals
  • Microsoft Visual Studio 2008 Team Edition for Software Architects
  • Microsoft Visual Studio 2008 Team Edition for Software Developers
  • Microsoft Visual Studio 2008 Team Edition for Software Testers
  • Microsoft Visual Studio 2008 Team Foundation Server
  • Microsoft Visual Studio 2008 Team Suite
  • Microsoft Visual Studio 2008 Team System Test Load Agent
  • Microsoft Visual Basic 2005 Express Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbvs2005swept kbvs2005applies kbvs2002sp1sweep kbbug kbcompiler kbdebug kbideproject kbinfo kbupgrade KB311329 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 311329

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com