Compartilhar via


Operadores de comparação (Visual Basic)

A seguir estão os operadores de comparação definidos em Visual Basic.

<operador

<=operador

>operador

>=operador

=operador

<>operador

É o operador (Visual Basic)

Operador IsNot (Visual Basic)

Como o operador (Visual Basic)

Esses operadores comparam 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 em detalhes 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.Qualquer String expressão ou intervalo de caracteres.

Comentários

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

Operador

TrueIF

FalseIF

< (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çãoObservação

O = Operador (Visual Basic) também é usado como um operador de atribuição.

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

Comparando os números

Ao comparar uma expressão do tipo Single a um tipo Double, o Single a expressão é convertida em Double.Esse comportamento é opostos o comportamento encontrado no Visual Basic 6.

Da mesma forma, se você comparar uma expressão do tipo Decimal a uma expressão do tipo Single ou Double, o Decimal a expressão é convertida em Single ou Double.Para Decimal expressões, qualquer valor fracionário menos de 1E-28 podem ser perdidas.Perda de dados valor fracionário pode fazer com que os dois valores sejam comparados como iguais quando não estão.Por esse motivo, você deve ter cuidado ao usar a 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.

cey92b0t.collapse_all(pt-br,VS.110).gifPonto flutuante Imprecision

Quando você trabalha com números de ponto flutuante, lembre que eles nem sempre têm uma representação precisa na memória.Isso pode levar a resultados inesperados de certas operações, como, por exemplo, a comparação de valor e o Operador Mod (Visual Basic).Para obter mais informações, consulte Solucionando problemas de tipos de dados (Visual Basic).

Comparando Sequências de Caracteres

Quando você compara seqüências de caracteres, as expressões de seqüência de caracteres são avaliadas com base em sua ordem de classificação alfabética, que depende do Option Compare configuração.

Option Compare Binarycomparações de uma ordem de classificação derivada de representações binárias internas dos caracteres da seqüência de bases.A ordem de classificação é determinada pela página de código.O exemplo a seguir mostra uma ordem de classificação binária típica.

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

Option Compare Textbases de seqüência comparações em uma ordem de classificação de maiúsculas e minúsculas, textual determinadas pela localidade do seu aplicativo.Ao definir Option Compare Text e classificar os caracteres no exemplo anterior, a ordem de classificação de texto seguinte se aplica:

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

cey92b0t.collapse_all(pt-br,VS.110).gifDependência de localidade

Ao definir Option Compare Text, o resultado de uma comparação de seqüência de caracteres pode depender da localidade na qual o aplicativo é executado.Dois caracteres podem comparar como igual em uma localidade, mas não em outro.Se você estiver usando uma comparação de seqüência de caracteres para tomar decisões importantes, como se deseja aceitar uma tentativa de logon, você deve estar alerta a sensibilidade de localidade.Considere uma das configurações Option Compare Binary ou chamando o StrComp, que considera a localidade.

Sem especificação de tipo de programação 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 a expressão, os tipos de tempo de execução determinam como eles são comparados.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 é

AmbosString

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

Ambas numéricas

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

Um numérico e outroString

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

Um ou ambos são tipos de referência diferente deString

Um InvalidCastException é lançada.

Comparações numéricas tratam Nothing como 0.Tratam de comparações de seqüência de caracteres Nothing como "" (uma seqüência vazia).

Sobrecarga

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

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

Exemplo

O exemplo a seguir mostra vários usos de operadores de comparação relacional, que você pode usar para comparar expressões.Operadores de comparação relacional retornam um Boolean resultado que representa se ou não avalia a expressão estabelecida True.Quando você aplica a > e < operadores para seqüências de caracteres, a comparação é feita usando a ordem de classificação alfabética normal das seqüências de caracteres.Esta ordem pode ser dependente de configuração de localidade.Se a classificação é diferencia maiúsculas de minúsculas ou não depende do Option Compare configuração.

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

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

Consulte também

Tarefas

Solucionando problemas de tipos de dados (Visual Basic)

Referência

= Operador (Visual Basic)

Precedência de operadores em Visual Basic

Operadores listados pela funcionalidade (Visual Basic)

InvalidCastException

Conceitos

Operadores de comparação em Visual Basic