Dela via


>>= Operator (Visual Basic)

Utför ett aritmetiskt högerskifte på värdet för en variabel eller egenskap och tilldelar resultatet tillbaka till variabeln eller egenskapen.

Syntax

variableorproperty >>= amount  

Delar

variableorproperty
Obligatoriska. Variabel eller egenskap av en integraltyp (SByte, Byte, Short, UShort, Integer, UInteger, Longeller ULong).

amount
Obligatoriska. Numeriskt uttryck för en datatyp som vidgas till Integer.

Kommentarer

Elementet till vänster om operatorn >>= kan vara en enkel skalär variabel, en egenskap eller ett element i en matris. Variabeln eller egenskapen kan inte vara ReadOnly.

Operatorn >>= utför först en aritmisk högerförskjutning på värdet för variabeln eller egenskapen. Operatorn tilldelar sedan resultatet av åtgärden tillbaka till variabeln eller egenskapen.

Aritmetiska skift är inte cirkulära, vilket innebär att de bitar som flyttas från ena änden av resultatet inte återinförs i den andra änden. I ett aritmetiskt högerskift ignoreras de bitar som flyttas bortom den högra bitpositionen och den vänstra biten sprids till de bitpositioner som töms till vänster. Det innebär att om variableorproperty det har ett negativt värde är de utrymda positionerna inställda på ett. Om variableorproperty är positiv, eller om dess datatyp är en osignerad typ, anges de lediga positionerna till noll.

Överbelastning

Operatorn>>kan överbelastas, vilket innebär att en klass eller struktur kan omdefiniera sitt beteende när en operande har den typen av klass eller struktur. Överlagring av operatorn >> påverkar operatorns >>= beteende. Om koden används >>= i en klass eller struktur som överbelastas >>bör du se till att du förstår dess omdefinierade beteende. Mer information finns i Operatorprocedurer.

Exempel

I följande exempel används operatorn >>= för att flytta bitmönstret för en Integer variabel till höger med den angivna mängden och tilldela resultatet till variabeln.

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

Se även