Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. 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.
Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.