Opção explícita e Option Strict no Visual Basic .NET e Visual Basic

Traduções de Artigos Traduções de Artigos
Artigo: 311329 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Mais Informação

A instrução Option Explicit

Por predefinição, o Visual Basic .NET ou o compilador de Visual Basic aplica a declaração de variável explícita, que requer que declarar cada variável antes de o utilizar. Para alterar este comportamento predefinido, consulte Change the Default Project Values secção.

A instrução Option Strict

Por predefinição, o Visual Basic .NET ou o compilador de Visual Basic não impõe escrevendo dados restritos. Para alterar este comportamento predefinido, consulte Change the Default Project Values secção.

Opção só restringe as conversões de tipo de dados implícita para apenas widening conversões. Conversão para alargar explicitamente não permitem qualquer conversões de tipo de dados em pode ocorrer a perda de dados e quaisquer conversões entre tipos numéricos e cadeias. Para mais informações sobre como aumentar conversões, consulte Widening Conversions secção.

Quando utiliza a instrução Option Strict , a instrução deve aparecer antes de qualquer outro código. No Visual Basic. NET, pode converter normalmente qualquer tipo de dados para qualquer outro tipo de dados implicitamente. Pode ocorrer perda de dados quando o valor de um tipo de dados é convertido para um tipo de dados com menor precisão ou com uma capacidade menor. No entanto, recebe uma mensagem de erro em tempo de execução se os dados serão perdidos tal uma conversão. Opção só notifica destes tipos de conversões durante a compilação, de modo que pode evitar.

Opção só também gera uma mensagem de erro nos seguintes cenários:
  • Para qualquer variável não declarado. Isto acontece porque Option Strict também implica Option Explicit .
  • Enlace tardio.

Aumentar conversões

A tabela seguinte lista padrão widening conversões.

Reduzir esta tabelaExpandir esta tabela
Tipo de dadosAlarga a tipos de dados
byte byte , Short , número inteiro , longo , decimal , simples , duplo
curto curto , número inteiro , longo , decimal , simples , duplo
número inteiro número inteiro , longo , decimal , simples , duplo
longo longo , decimal , simples , duplo
decimal decimal , simples , duplo
único simples , duplo
dupla dupla
Qualquer tipo enumeradoO tipo subjacente de número inteiro e qualquer tipo para o qual irá aumentar
char char , String
Qualquer tipo objecto , qualquer interface que implementa
Qualquer tipo derivadoQualquer tipo de base a partir da qual deriva
NadaQualquer tipo de dados ou tipo de objecto

As conversões seguintes podem perder precisão:
  • número inteiro para simples
  • muito simples ou duplo
  • decimal simples ou duplo
No entanto, estas conversões não perdem informações ou magnitude.

Conversão para alargar sempre bem sucedida e pode sempre efectuar conversão para alargar implicitamente.

Conversão explícita com directores

Uma conversão explícita utiliza uma palavra-chave da conversão de tipo. Visual Basic .NET ou Visual Basic 2005 fornece palavras-várias essas chave, que utilizar uma expressão no parêntesis ao tipo de dados que pretende. Estas palavras-chave se comportem como funções, mas o compilador gera a linha de código. Consequentemente, é um pouco mais rápida com conversão explícita do que com uma chamada de função de execução.

A tabela seguinte lista as palavras-chave conversão disponíveis.
Reduzir esta tabelaExpandir esta tabela
Conversão de tipo de palavra-chaveConverte a expressão
Para Tipo de dados
Permitido de tipos de dados de expressão para ser convertidos
CBool Boleano Qualquer tipo numérico (incluindo o byte e tipos enumerados), cadeia de caracteres , o objecto
CByte byte Qualquer tipo numérico, qualquer tipo, Boleano , cadeia de caracteres , objecto enumerados
CChar char cadeia , objecto
CDATA Data cadeia , objecto
CDbl dupla Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CDec decimal Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CInt número inteiro Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CLng longo Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CObj objecto Qualquer tipo
CShort curto Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CSng único Qualquer tipo numérico (incluindo o byte e tipos enumerados), Boleano , cadeia de caracteres , objecto
CStr cadeia Qualquer tipo numérico (incluindo bytes ), Boleano , caracteres , matriz de caracteres , Data , objecto
CType Tipo especificado após a vírgula ()Quando converte um tipo elementar (incluindo uma matriz de tipo elementar), os mesmos tipos de como são permitidas para a palavra-chave de conversão correspondente.

Quando converte um tipo composto, as interfaces implementa e as classes da qual herda.

Alterar os valores de projecto predefinido

Pode alterar os valores predefinidos Option Explicit e Option Strict . Por exemplo, quando cria uma nova aplicação utilizando o Visual Basic. NET, Visual Basic 2005 ou do Visual Basic 2008, o valor para Option Explicit é definido como on . Pode alterar este valor predefinido para Terminar .

Para alterar os valores predefinidos 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 predefinidos para Option Explicit e Option Strict na secção de projectos e soluções VB predefinições .

Para alterar os valores predefinidos 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 predefinidos para Option Explicit e Option Strict na secção de projectos e soluções VB predefinições .

Propriedades

Artigo: 311329 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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