Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. VB.Net богат встроенными операторами и предоставляет следующие типы часто используемых операторов —
-
Арифметические Операторы
-
Операторы сравнения
-
Логические / побитовые операторы
-
Операторы сдвига битов
-
Операторы присваивания
-
Разные операторы
Арифметические Операторы
Операторы сравнения
Логические / побитовые операторы
Операторы сдвига битов
Операторы присваивания
Разные операторы
Этот урок объяснит наиболее часто используемые операторы.
Арифметические Операторы
В следующей таблице приведены все арифметические операторы, поддерживаемые VB.Net. Предположим, что переменная A содержит 2, а переменная B содержит 7, тогда —
оператор | Описание | пример |
---|---|---|
^ | Поднимает один операнд во власть другого | Б ^ А даст 49 |
+ | Добавляет два операнда | А + Б даст 9 |
— | Вычитает второй операнд из первого | А — Б даст -5 |
* | Умножает оба операнда | А * Б даст 14 |
/ | Делит один операнд на другой и возвращает результат с плавающей запятой | Б / у даст 3,5 |
\ | Делит один операнд на другой и возвращает целочисленный результат | Б \ А даст 3 |
MOD | Оператор модуля и остаток от целочисленного деления | B MOD A даст 1 |
Операторы сравнения
В следующей таблице приведены все операторы сравнения, поддерживаемые VB.Net. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —
оператор | Описание | пример |
---|---|---|
знак равно | Проверяет, равны ли значения двух операндов или нет; если да, то условие становится истинным. | (A = B) не соответствует действительности. |
<> | Проверяет, равны ли значения двух операндов или нет; если значения не равны, то условие становится истинным. | (A <> B) верно. |
> | Проверяет, больше ли значение левого операнда, чем значение правого операнда; если да, то условие становится истинным. | (A> B) не соответствует действительности. |
< | Проверяет, меньше ли значение левого операнда, чем значение правого операнда; если да, то условие становится истинным. | (A <B) верно. |
> = | Проверяет, больше ли значение левого операнда или равно значению правого операнда; если да, то условие становится истинным. | (A> = B) не соответствует действительности. |
<= | Проверяет, меньше ли значение левого операнда или равно значению правого операнда; если да, то условие становится истинным. | (A <= B) верно. |
Помимо вышесказанного, VB.Net предоставляет еще три оператора сравнения, которые мы будем использовать в следующих главах; однако, мы даем краткое описание здесь.
-
Оператор Is — сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на один и тот же объект без сравнения значений. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом будет True ; в противном случае результат является ложным.
-
Оператор IsNot — он также сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на объект на разные объекты. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом является False ; в противном случае результат равен True.
-
Как оператор — сравнивает строку с шаблоном.
Оператор Is — сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на один и тот же объект без сравнения значений. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом будет True ; в противном случае результат является ложным.
Оператор IsNot — он также сравнивает две ссылочные переменные объекта и определяет, ссылаются ли две ссылки на объект на разные объекты. Если object1 и object2 оба ссылаются на один и тот же экземпляр объекта, результатом является False ; в противном случае результат равен True.
Как оператор — сравнивает строку с шаблоном.
Логические / побитовые операторы
В следующей таблице приведены все логические операторы, поддерживаемые VB.Net. Предположим, что переменная A содержит логическое значение True, а переменная B содержит логическое значение False, тогда —
оператор | Описание | пример |
---|---|---|
А также | Это логический и побитовый оператор AND. Если оба операнда истинны, тогда условие становится истинным. Этот оператор не выполняет короткое замыкание, т. Е. Он оценивает оба выражения. | (А и Б) является ложным. |
Или же | Это логический, а также побитовый оператор ИЛИ. Если любой из двух операндов является истинным, тогда условие становится истинным. Этот оператор не выполняет короткое замыкание, т. Е. Он оценивает оба выражения. | (А или Б) это правда. |
Не | Это логический и побитовый оператор НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. | Не (А и Б) верно. |
Xor | Это логический, а также побитовый логический исключающий ИЛИ оператор. Возвращает True, если оба выражения True или оба выражения False; в противном случае возвращается False. Этот оператор не выполняет короткое замыкание, он всегда оценивает оба выражения, и у этого оператора нет короткого замыкания. | А Xor B это правда. |
А также | Это логический оператор AND. Работает только на булевых данных. Он выполняет короткое замыкание. | (A И также B) Неверно. |
OrElse | Это логический оператор ИЛИ. Работает только на булевых данных. Он выполняет короткое замыкание. | (A OrElse B) это правда. |
IsFalse | Он определяет, является ли выражение ложным. | |
Правда | Это определяет, является ли выражение Истинным. |
Операторы сдвига битов
Мы уже обсуждали побитовые операторы. Операторы сдвига битов выполняют операции сдвига двоичных значений. Прежде чем перейти к операторам сдвига битов, давайте разберемся с битовыми операциями.
Битовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &, | и ^ следующие:
п | Q | P & Q | р | Q | р ^ д |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Предположим, если А = 60; и B = 13; теперь в двоичном формате они будут выглядеть следующим образом —
A = 0011 1100
B = 0000 1101
——————
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
Мы видели, что побитовые операторы, поддерживаемые VB.Net, это And, Or, Xor и Not. Операции сдвига битов >> и << для сдвига влево и вправо соответственно.
Предположим, что переменная A содержит 60, а переменная B содержит 13, тогда —
оператор | Описание | пример |
---|---|---|
А также | Побитовое И Оператор копирует немного в результат, если он существует в обоих операндах. | (А И Б) даст 12, что составляет 0000 1100 |
Или же | Оператор двоичного ИЛИ копирует немного, если он существует в любом из операндов. | (А или В) даст 61, что составляет 0011 1101 |
Xor | Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих. | (A Xor B) даст 49, что составляет 0011 0001 |
Не | Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. | (Не A) даст -61, что составляет 1100 0011 в форме дополнения 2 из-за двоичного числа со знаком. |
<< | Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. | А << 2 даст 240, что составляет 1111 0000 |
>> | Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. | A >> 2 даст 15, что составляет 0000 1111 |
Операторы присваивания
В VB.Net поддерживаются следующие операторы присваивания:
оператор | Описание | пример |
---|---|---|
знак равно | Простой оператор присваивания, присваивает значения от правых операндов к левому операнду | C = A + B назначит значение A + B в C |
+ = | Добавить оператор присваивания И добавляет правый операнд к левому операнду и присваивает результат левому операнду | C + = A эквивалентно C = C + A |
знак равно | Вычитание И оператор присваивания, вычитает правый операнд из левого операнда и присваивает результат левому операнду | C — = A эквивалентно C = C — A |
знак равно | Оператор присваивания умножения И, умножает правый операнд на левый операнд и присваивает результат левому операнду | C * = A эквивалентно C = C * A |
знак равно | Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду (деление с плавающей запятой) | C / = A эквивалентно C = C / A |
знак равно | Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду (целочисленное деление) | C \ = A эквивалентно C = C \ A |
^ = | Экспонентация и назначение оператора. Он поднимает левый операнд до степени правого операнда и присваивает результат левому операнду. | C ^ = A эквивалентно C = C ^ A |
<< = | Левый сдвиг И оператор присваивания | C << = 2 совпадает с C = C << 2 |
>> = | Оператор правого сдвига И присваивания | C >> = 2 — это то же самое, что C = C >> 2 |
знак равно | Объединяет выражение String с переменной или свойством String и присваивает результат переменной или свойству. |
Str1 & = Str2 такой же, как Str1 = Str1 & Str2 |
Str1 & = Str2 такой же, как
Str1 = Str1 & Str2
Разные операторы
Есть несколько других важных операторов, поддерживаемых VB.Net.
оператор | Описание | пример |
---|---|---|
AddressOf | Возвращает адрес процедуры. |
AddHandler Button1.Click, AddressOf Button1_Click |
Ждите | Он применяется к операнду в асинхронном методе или лямбда-выражении, чтобы приостановить выполнение метода до завершения ожидаемой задачи. |
Dim result As res = Await AsyncMethodThatReturnsResult() Await AsyncMethod() |
GetType | Возвращает объект Type для указанного типа. Объект Type предоставляет информацию о типе, такую как его свойства, методы и события. |
MsgBox(GetType(Integer).ToString()) |
Выражение функции | Он объявляет параметры и код, которые определяют функцию лямбда-выражения. |
Dim add5 = Function(num As Integer) num + 5 'prints 10 Console.WriteLine(add5(5)) |
Если | Он использует оценку короткого замыкания для условного возврата одного из двух значений. Оператор If может быть вызван с тремя аргументами или с двумя аргументами. |
Dim num = 5 Console.WriteLine(If(num >= 0, "Positive", "Negative")) |
Приоритет операторов в VB.Net
Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения —
Например, х = 7 + 3 * 2; здесь x назначено 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем прибавляется к 7.
Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.