>>Оператор = (Visual Basic)
Выполняет арифметический сдвиг вправо по значению переменной или свойству и назначает результат обратно переменной или свойству.
Синтаксис
variableorproperty >>= amount
Детали
variableorproperty
Обязательный. Переменная или свойство целочисленного типа (SByte
, Byte
, Short
, UShort
, Integer
, UInteger
Long
илиULong
).
amount
Обязательный. Числовое выражение типа данных, которое расширяется до Integer
.
Замечания
Элемент слева >>=
от оператора может быть простой скалярной переменной, свойством или элементом массива. Переменная или свойство не может быть ReadOnly.
Оператор >>=
сначала выполняет арифметический сдвиг вправо по значению переменной или свойства. Затем оператор назначает результат этой операции переменной или свойству.
Арифметические сдвиги не циклические, что означает, что биты смещены с одного конца результата не повторно введены в другой конец. В арифметическом сдвиге вправо биты смещены за пределы самой правой битовой позиции не карта, а самый левый бит распространяется на битовые позиции, освобожденные слева. Это означает, что если variableorproperty
имеет отрицательное значение, для освобожденных позиций задано одно. Если variableorproperty
тип данных является положительным или типом данных является неподписанным типом, то освобожденные позиции равны нулю.
Перегрузка
>> Оператор может быть перегружен, что означает, что класс или структура могут переопределить его поведение, если операнда имеет тип этого класса или структуры. Перегрузка >>
оператора влияет на поведение >>=
оператора. Если код используется >>=
в классе или структуре, которая перегружена >>
, убедитесь, что вы понимаете его переопределенное поведение. Для получения дополнительной информации см. Operator Procedures.
Пример
В следующем примере оператор используется >>=
для перемещения битового Integer
шаблона переменной вправо по указанному количеству и назначения результата переменной.
Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (two bits were lost off the right end).