Поделиться через


Оператор >>= (Visual Basic)

Обновлен: Ноябрь 2007

Производит арифметический сдвиг вправо значения переменной или свойства и присваивает результат этой переменной или свойству.

variableorproperty >>= amount

Компоненты

  • variableorproperty
    Обязательно. Переменная или свойство целого типа (SByte, Byte, Short, UShort, Integer, UInteger, Long или ULong).

  • amount
    Обязательно. Цифровое значение с типом данных, расширяемым до Integer.

Заметки

Элемент с левой стороны оператора >>= может быть простой скалярной переменной, свойством или элементом массива. Переменная или свойство не могут быть ReadOnly (Visual Basic). Оператор >>= присваивает значение, стоящее справа от него, переменной или свойству, расположенному слева.

Арифметические сдвиги не являются циклическими. Это означает, что биты, сдвинутые в один конец результата, не вводятся повторно в другой конец. При арифметическом сдвиге вправо, биты, сдвигаемые дальше первой справа позиции, теряются, а место, освобождаемое слева, замещается значением первого бита слева. Это значит, что если variableorproperty имеет отрицательное значение, освобождаемые позиции устанавливаются в единицу. Если variableorproperty имеет положительное значение или беззнаковое, освобождаемые биты устанавливаются в ноль.

Перегрузка

Оператор ''>>'' (Visual Basic) может быть перегружен. Это означает, что класс или структура может переопределить его действие, если операнд имеет такой же тип класса или структуры. Перегрузка оператора >> влияет на тип выполнения оператора >>=. Если в коде используется оператор >>= для класса или структуры, перегружающей >>, убедитесь, что его переопределенное выполнение понятно. Дополнительные сведения см. в разделе Процедуры операторов.

Пример

Следующий пример демонстрирует использование оператора >>= для сдвига битовой структуры переменной типа Integer вправо с присвоением результирующего значения переменной.

Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (one bit was lost off the right end).

См. также

Основные понятия

Операторы присваивания

Ссылки

Оператор ''>>'' (Visual Basic)

Операторы присваивания

Операторы поразрядного сдвига

Порядок применения операторов в Visual Basic

Список операторов, сгруппированных по функциональному назначению