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
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
Priorita operátorů v jazyce Visual Basic
Operátory uvedené podle funkce (Visual Basic)