Sdílet prostřednictvím


Operátory porovnání (Visual Basic)

Jsou následující operátory porovnání v jazyce Visual Basic.

<operátor

<=operátor

>operátor

>=operátor

=operátor

<>operátor

Is – operátor (Visual Basic)

IsNot – operátor (Visual Basic)

Like – operátor (Visual Basic)

Tyto operátory porovnání dvou výrazů k určení, zda jsou rovné a pokud ne, jak se liší.Is, IsNot, a Like jsou podrobně uvedeny na samostatných stránkách nápovědy.Porovnání relační operátory jsou popsány podrobně na této stránce.

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

Části

  • result
    Povinné.A Boolean hodnotu představující výsledku srovnání.

  • expression
    Povinné.Jakýkoli výraz.

  • comparisonoperator
    Povinné.Všechny relační operátor porovnání.

  • object1, object2
    Povinné.Jakýkoli odkaz názvy objektů.

  • string
    Povinné.Všechny String výraz.

  • pattern
    Povinné.Všechny String výraz nebo rozsah znaků.

Poznámky

Následující tabulka obsahuje seznam provozovatelů relační porovnání a podmínky, které určují, zda result je True nebo False.

Operátor

TruePokud

FalsePokud

<(Menší než)

expression1< expression2

expression1> =expression2

<=(Menší než nebo rovno)

expression1< =expression2

expression1> expression2

>(Větší než)

expression1> expression2

expression1< =expression2

>=(Větší než nebo rovno)

expression1> =expression2

expression1< expression2

=(Rovno)

expression1 = expression2

expression1< > expression2

<>(Není rovno)

expression1< > expression2

expression1 = expression2

[!POZNÁMKA]

= – operátor (Visual Basic) Se také používá jako operátor přiřazení.

Is Operátor, IsNot operátor a Like mít operátor porovnání specifické funkce, které se liší od subjektů v předchozí tabulce.

Porovnání čísel

Při porovnání výraz typu Single na jeden typ Double, Single výraz je převeden na Double.Toto chování je opačné k tomuto chování dochází v aplikaci Visual Basic 6.

Podobně při porovnání výraz typu Decimal na výraz typu Single nebo Double, Decimal výraz je převeden na Single nebo Double.Pro Decimal výrazy, jakékoli desetinnou hodnotu menší než 1E-28 mohou být ztraceny.Způsobit dvě hodnoty porovnat jako rovný, nejsou-li takové ztráty desetinnou hodnotu.Z tohoto důvodu je dbát při použití rovnosti (=) k porovnání dvou proměnných s plovoucí desetinnou čárkou.Je bezpečnější a otestujte, zda je absolutní hodnota rozdílu mezi dvěma čísly je menší než malé přípustné.

S plovoucí desetinnou čárkou nepřesnosti

Při práci s plovoucí desetinnou čárkou, mějte na paměti, že vždy nemají přesné vyjádření v paměti.To by mohlo vést k neočekávaným výsledkům z určité operace, například porovnání hodnoty a Mod – operátor (Visual Basic).Další informace naleznete v tématu Řešení potíží s datovými typy (Visual Basic).

Porovnávání řetězců

Při porovnávání řetězců řetězec výrazy jsou vyhodnocovány na základě jejich pořadí abecedního řazení závisí Option Compare nastavení.

Option Compare BinaryZáklady řetězců porovnávání v pořadí řazení z vnitřní binární reprezentace znaků.Pořadí řazení je určena znaková stránka.Následující příklad ukazuje typické binární řazení.

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

Option Compare TextZáklady řetězců porovnávání v pořadí řazení velká a malá písmena, textové určena národní prostředí aplikace.Při nastavení Option Compare Text a řazení znaků v předchozím příkladu, platí následující pořadí řazení textu:

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

Závislost národního prostředí

Při nastavení Option Compare Text, závisí na národním prostředí, ve kterém je spuštěna aplikace výsledků porovnání řetězců.Jako rovná jeden jazyk, ale v jiném mohou porovnat dva znaky.Pokud používáte porovnání řetězců důležité rozhodnutí o, například zda přijmout pokus o přihlášení, by měla být oznámení citlivosti národního prostředí.Zvažte nastavení Option Compare Binary nebo volání StrComp, který zohledňuje národní prostředí.

Typeless programování v relační operátory porovnání

Použití operátorů relační porovnání s Object výrazů není povoleno pod Option Strict On.Při Option Strict je Offa expression1 nebo expression2 je Object výraz, typy spuštění určují, jak jsou porovnány.Následující tabulka obsahuje porovnání výrazů a výsledek z porovnání v závislosti na typu runtime operandy.

Pokud jsou operandy

Porovnání je

OběString

Srovnání založené na řetězec vlastnosti řazení seřadit.

Obě numerické

Objekty jsou převedeny na Double, číselné porovnání.

Jeden číselné a jedenString

String Je převeden na Double a je provedeno číselné porovnání.Pokud String nelze převést na Double, InvalidCastException je vyvolána.

Jeden nebo oba typy referenční nežString

InvalidCastException Je vyvolána.

Číselné porovnání zacházet s Nothing 0.Porovnávání řetězců zacházet s Nothing jako "" (prázdný řetězec).

Přetěžování

Porovnání relační operátory (<.<=>, >=, =, <>) může být přetížení, což znamená, že třídy nebo struktury předefinovat jejich chování při operand je typu třídy nebo struktury.Pokud váš kód používá některý z těchto operátorů na tyto třídy nebo struktury, se přesvědčte se, zda je že pochopit předefinovaná chování.Další informace naleznete v tématu Procedury operátoru (Visual Basic).

Všimněte si, že = – operátor (Visual Basic) pouze jako operátor relační porovnání, ne jako operátor přiřazení může být přetížené.

Příklad

Následující příklad ukazuje použití různých relační relační operátory, které slouží k porovnání výrazů.Operátory porovnání relační vrátit Boolean výsledek, který představuje, zda uvedený výraz vyhodnocen jako True.Při aplikování > a < operátory řetězců srovnání pomocí normálního abecedním pořadí řazení řetězce.Toto pořadí může být závislé na nastavení národního prostředí.Zda rozlišuje řazení nebo není závislý Option Compare nastavení.

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

V předchozím příkladu vrátí první srovnání False a vrácení zbývající porovnání True.

Viz také

Úkoly

Řešení potíží s datovými typy (Visual Basic)

Referenční dokumentace

= – operátor (Visual Basic)

Priorita operátorů v jazyce Visual Basic

Operátory uvedené podle funkce (Visual Basic)

InvalidCastException

Koncepty

Operátory porovnání v jazyce Visual Basic