Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Operatory porównania porównują dwa wyrażenia i zwracają wartość reprezentującą relację Boolean
ich wartości. Istnieją operatory do porównywania wartości liczbowych, operatorów do porównywania ciągów i operatorów do porównywania obiektów. Wszystkie trzy typy operatorów są omawiane w niniejszym dokumencie.
Porównywanie wartości liczbowych
Visual Basic porównuje wartości liczbowe przy użyciu sześciu operatorów porównania liczbowego. Każdy operator przyjmuje jako operandy dwa wyrażenia, które oceniają wartości liczbowe. W poniższej tabeli wymieniono operatory i przedstawiono przykłady każdego z nich.
Obsługujący | Testowany warunek | Przykłady |
---|---|---|
= (Równość) |
Czy wartość pierwszego wyrażenia jest równa wartości drugiej? |
23
=
33 ' False
23
=
23 ' True
23
=
12 ' False
|
<> (Nierówności) |
Czy wartość pierwszego wyrażenia jest nierówna wartości drugiej? |
23
<>
33 ' True
23
<>
23 ' False
23
<>
12 ' True
|
< (Mniej niż) |
Czy wartość pierwszego wyrażenia jest mniejsza niż wartość drugiej? |
23
<
33 ' True
23
<
23 ' False
23
<
12 ' False
|
> (Większe niż) |
Czy wartość pierwszego wyrażenia jest większa niż wartość drugiego? |
23
>
33 ' False
23
>
23 ' False
23
>
12 ' True
|
<= (Mniejsze niż lub równe) |
Czy wartość pierwszego wyrażenia jest mniejsza lub równa wartości drugiej? |
23
<=
33 ' True
23
<=
23 ' True
23
<=
12 ' False
|
>= (Większe niż lub równe) |
Czy wartość pierwszego wyrażenia jest większa lub równa wartości drugiej? |
23
>=
33 ' False
23
>=
23 ' True
23
>=
12 ' True
|
Porównywanie ciągów
Visual Basic porównuje ciągi przy użyciu operatora Like , a także operatorów porównania liczbowego. Operator Like
umożliwia określenie wzorca. Ciąg jest następnie porównywany ze wzorcem, a jeśli jest zgodny, wynik to True
. W przeciwnym razie wynik to False
. Operatory liczbowe umożliwiają porównywanie String
wartości na podstawie ich kolejności sortowania, jak pokazano w poniższym przykładzie.
"73" < "9"
' The result of the preceding comparison is True.
Wynikiem powyższego przykładu jest True
, ponieważ pierwszy znak w pierwszym ciągu znaków jest przed pierwszym znakiem w drugim ciągu znaków. Jeśli pierwsze znaki były równe, porównanie będzie kontynuowane do następnego znaku w obu ciągach itd. Możesz również przetestować równość ciągów przy użyciu operatora równości, jak pokazano w poniższym przykładzie.
"734" = "734"
' The result of the preceding comparison is True.
Jeśli jeden ciąg jest prefiksem innego, takiego jak "aaa" i "aaa", dłuższy ciąg jest uznawany za większy niż krótszy ciąg. Poniższy przykład ilustruje to.
"aaa" > "aa"
' The result of the preceding comparison is True.
Kolejność sortowania zależy od porównania binarnego lub tekstowego w zależności od wprowadzonego ustawienia Option Compare
. Aby uzyskać więcej informacji, zobacz instrukcja Option Compare.
Porównywanie obiektów
Visual Basic porównuje dwie zmienne odwołania do obiektu za pomocą Operatora Is i Operatora IsNot. Możesz użyć jednego z tych operatorów, aby określić, czy dwie zmienne referencyjne odwołują się do tego samego wystąpienia obiektu. Poniższy przykład ilustruje to.
Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
W poprzednim przykładzie x Is y
jest równy True
, ponieważ obie zmienne odwołują się do tego samego wystąpienia. Skontrastuj ten wynik, korzystając z poniższego przykładu.
Dim x As New customer()
Dim y As New customer()
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
W poprzednim przykładzie x Is y
ocenia się na False
, ponieważ zmienne odwołują się do obiektów tego samego typu, ale różnych wystąpień tego typu.
Jeśli chcesz przetestować dwa obiekty wskazujące na różne wystąpienia, operator IsNot
pozwala uniknąć gramatycznie nieporadnego połączenia Not
i Is
. Poniższy przykład ilustruje to.
Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
' Insert code to run if a and b point to different instances.
End If
W poprzednim przykładzie If a IsNot b
jest odpowiednikiem If Not a Is b
.
Porównywanie typu obiektu
Możesz sprawdzić, czy obiekt jest określonym typem za pomocą TypeOf
wyrażenia ...Is
. Składnia jest następująca:
TypeOf <objectexpression> Is <typename>
Gdy typename
określa typ interfejsu TypeOf
, wyrażenie ...Is
zwraca True
, jeśli obiekt implementuje typ interfejsu. Gdy typename
jest typem klasy, wyrażenie zwraca True
, jeśli obiekt jest wystąpieniem określonej klasy lub klasy pochodzącej z określonej klasy. Poniższy przykład ilustruje to.
Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
' Insert code to run if x is of type System.Windows.Forms.Control.
End If
W poprzednim przykładzie wyrażenie TypeOf x Is Control
oblicza się jako True
, ponieważ typ x
to Button
, który dziedziczy z Control
klasy.
Aby uzyskać więcej informacji, zobacz TypeOf Operator.