>>= — Operator (Visual Basic)

Wykonuje arytmetyczne przesunięcie w prawo na wartość zmiennej lub właściwości i przypisuje wynik z powrotem do zmiennej lub właściwości.

Składnia

variableorproperty >>= amount  

generatora

variableorproperty
Wymagany. Zmienna lub właściwość typu całkowitego (SByte, Byte, Short, UShort, Integer, UInteger, Longlub ULong).

amount
Wymagany. Wyrażenie liczbowe typu danych, które rozszerza wartość .Integer

Uwagi

Element po lewej stronie >>= operatora może być prostą zmienną skalarną, właściwością lub elementem tablicy. Nie można odczytać zmiennej lub właściwości ReadOnly.

Operator >>= najpierw wykonuje arytmetyczne przesunięcie w prawo na wartość zmiennej lub właściwości. Następnie operator przypisuje wynik tej operacji z powrotem do zmiennej lub właściwości.

Przesunięcia arytmetyczne nie są cykliczne, co oznacza, że bity przesunięte z jednego końca wyniku nie są przywracane na drugim końcu. W arytmetycznym przesunięciu w prawo bity przesunięte poza położenie bitów po prawej stronie są odrzucane, a lewy bit jest propagowany do pozycji bitowych opuszczonych po lewej stronie. Oznacza to, że jeśli variableorproperty ma wartość ujemną, wolne pozycje są ustawione na jedną. Jeśli variableorproperty wartość jest dodatnia lub jego typ danych jest typem niepodpisanym, wolne pozycje są ustawione na zero.

Przeciążenie

>> Operator może być przeciążony, co oznacza, że klasa lub struktura może ponownie zdefiniować jego zachowanie, gdy operand ma typ tej klasy lub struktury. Przeciążenie >> operatora wpływa na zachowanie >>= operatora. Jeśli kod używa >>= klasy lub struktury, która przeciąża >>element , upewnij się, że rozumiesz jego ponownie zdefiniowane zachowanie. Aby uzyskać więcej informacji, zobacz Procedury operatorów.

Przykład

W poniższym przykładzie >>= użyto operatora , aby przesunąć wzorzec bitowy Integer zmiennej w prawo o określoną kwotę i przypisać wynik do zmiennej.

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).

Zobacz też