Operadores de comparação (Visual Basic)
Estes são os operadores de comparação definidos no Visual Basic.
< operador
<= operador
> operador
>= operador
= operador
<> operador
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
Precedência de operadores no Visual Basic