Учебники

VB.Net — Операторы

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

Здесь операторы с самым высоким приоритетом отображаются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом будут оцениваться первыми.

Показать примеры