Compartilhar via


Operadores de comparação (Visual Basic)

Estes são os operadores de comparação definidos no Visual Basic.

< operador

<= operador

> operador

>= operador

= operador

<> operador

Operador Is (Visual Basic)

Operador IsNot

Operador Like (Visual Basic)

Esses operadores comparar duas expressões para determinar se ou não forem iguais, e se não for, como eles diferem.Is, IsNot, e Like são discutidas detalhadamente em páginas de Ajuda separadas. Os operadores de comparação relacional são discutidos em detalhes nesta página.

result = expression1 comparisonoperator expression2
result = object1 [Is | IsNot] object2
result = string Like pattern

Partes

  • result
    Obrigatório.A Boolean valor que representa o resultado da comparação.

  • expression
    Obrigatório.Qualquer expressão.

  • comparisonoperator
    Obrigatório.Qualquer operador de comparação relacional.

  • object1, object2
    Obrigatório.Qualquer referência a nomes de objeto.

  • string
    Obrigatório.Qualquer expressão String.

  • pattern
    Obrigatório.Any String expressão ou um intervalo de caracteres.

Comentários

A tabela a seguir contém uma lista dos operadores de comparação relacional e as condições que determinam se result é True ou False.

Operador

True Se

False Se

< (Menor que)

expression1 < expression2

expression1 >= expression2

<= (Menor que ou igual a)

expression1 <= expression2

expression1 > expression2

> (Maior que)

expression1 > expression2

expression1 <= expression2

>= (Maior que ou igual a)

expression1 >= expression2

expression1 < expression2

= (Igual a)

expression1 = expression2

expression1 <> expression2

<> (Não é igual a)

expression1 <> expression2

expression1 = expression2

Observação:

O = Operador (Visual Basic) também é usado sistema autônomo um operador de atribuição.

The Is operador, o IsNot operador e o Like o operador tem funcionalidades específicas de comparação que diferem dos operadores na tabela anterior.

Comparando os números

Ao comparar uma expressão do tipo Single para uma de tipo Double, o Single a expressão é convertida em Double. Esse comportamento é oposta ao comportamento encontrado no Visual Basic 6.

Da mesma forma, ao comparar uma expressão do tipo Decimal como uma expressão do tipo Single ou Double, o Decimal a expressão é convertida em Single ou Double. For Decimal expressões, qualquer valor fracionário menor que 1E-28 poderá ser perdida. Tal valor fracionário perda pode fazer com que dois valores a serem comparados sistema autônomo iguais quando não estão.Por esse motivo, você deve ter cuidado ao usar igualdade (=) para comparar duas variáveis de ponto flutuante. É mais seguro testar se o valor absoluto da diferença entre os dois números é menor do que uma pequena tolerância aceitável.

Ponto flutuante Imprecision

Ao trabalhar com números de ponto flutuante, tenha em mente que eles não sempre têm uma representação exata na memória.Isso pode levar a resultados inesperados de certas operações, sistema autônomo o valor de comparação e a Operador Mod (Visual Basic). Para obter mais informações, consulte Solucionando problemas de Tipos de Dados.

Comparando Sequências de Caracteres

Ao comparar cadeias de caracteres, as expressões de seqüência de caracteres são calculadas com base em sua ordem de classificar alfabético, que depende o Option Compare a configuração.

Option Compare Binary bases de string comparações em uma ordem de classificar derivada de internos binário representações de caracteres. A ordem de classificar é determinada pela página de código.O exemplo a seguir mostra uma ordem de classificar binária típica.

A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Option Compare Text bases de seqüência comparações em uma ordem de classificar não diferencia maiúsculas de minúsculas, textuais determinados pela localidade do seu aplicativo. Ao conjunto Option Compare Text e classificam os caracteres no exemplo anterior, a ordem de classificar de texto seguinte se aplica:

(A=a) < (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)

Dependência de localidade

Ao conjunto Option Compare Text, o resultado de um comparação de cadeia de caracteres pode depender da localidade na qual o aplicativo está sendo executado. Podem comparar dois caracteres sistema autônomo igual em uma localidade, mas não em outro.Se você estiver usando uma comparação de seqüências de caracteres para tomar decisões importantes, sistema autônomo aceitar uma tentativa de fazer logon, você deve estar alerta a confidencialidade de localidade.Considere a possibilidade de qualquer configuração Option Compare Binary ou ligando para o Função StrComp (Visual Basic), a localidade que leva em consideração.

Sem especificação de tipo Programando com operadores de comparação relacional

O uso de operadores de comparação relacional com Object expressões não é permitido em Option Strict On. Quando Option Strict é Offe expression1 ou expression2 é um Object expressão, os tipos de time de execução determinam como são comparadas. A tabela a seguir mostra como as expressões são comparadas e o resultado da comparação, dependendo do tipo de tempo de execução dos operandos.

Se operandos forem

Comparação é

Ambos os String

Classificar com base em características de classificação de seqüência de comparação.

Os dois numérico

Objetos convertidos em Double, comparação numérica.

Um numérico e um String

The String é convertido em um Double e é feita uma comparação numérica. Se o String não pode ser convertido em Double, um InvalidCastException é lançada.

Um ou ambos são tipos de referência Outros que String

An InvalidCastException é lançada.

Comparações numéricas tratam Nothing sistema autônomo 0. De tratar sistema autônomo comparações de seqüência de caracteresNothing sistema autônomo "" (uma seqüência vazia).

Sobrecarga

Os operadores de comparação relacional (<. <=, >, >=, =, <>) podem ser sobrecarregado, que significa que uma classe ou estrutura pode redefinir o comportamento quando um operando tem o tipo da classe ou estrutura.Se seu código usa qualquer um desses operadores tais uma classe ou estrutura, certifique-se de que você compreende o comportamento redefinido.Para obter mais informações, consulte Procedimentos de Operador.

Observe que o = Operador (Visual Basic) podem ser sobrecarregados somente sistema autônomo um operador de comparação relacional, e não sistema autônomo um operador de atribuição.

Exemplo

O exemplo a seguir mostra vários usos de operadores de comparação relacional, que você usa para comparar expressões.Operadores de comparação relacional retornam um Boolean resultado que representa se ou não declarada a expressão for avaliada como True. Quando você aplica o > e < operadores com seqüências de caracteres, a comparação é feita usando a ordem de classificação alfabético normal das seqüências de caracteres. Essa ordem pode ser dependente de configuração de localidade.Se a classificar é sensível a diferenciar diferenciar maiúsculas de minúsculas ou não depende do Opção comparar configuração.

Dim testResult As Boolean
testResult = 45 < 35
testResult = 45 = 45
testResult = 4 <> 3
testResult = "5" > "4444"

No exemplo anterior, a comparação primeira retorna False e retornam as comparações restantes True.

Consulte também

Tarefas

Solucionando problemas de Tipos de Dados

Conceitos

Operadores de Comparação em Visual Basic

Referência

= Operador (Visual Basic)

Precedência de operadores no Visual Basic

Operadores listados por Funcionalidade

InvalidCastException