Megosztás a következőn keresztül:


>>= Operátor (Visual Basic)

Egy változó vagy tulajdonság értékének számtani jobbra váltását hajtja végre, és az eredményt visszaosztja a változóhoz vagy tulajdonsághoz.

Syntax

variableorproperty >>= amount  

Részek

variableorproperty
Szükséges. Egy integráltípus változója vagy tulajdonsága (SByte, , , Short, IntegerUShort, UInteger, Long, vagy ULongByte).

amount
Szükséges. Az adattípus numerikus kifejezése, amely a .-ra szélesedik Integer.

Megjegyzések

Az operátor bal oldalán >>= található elem lehet egyszerű skaláris változó, tulajdonság vagy tömbelem. A változó vagy tulajdonság nem olvasható.

Az >>= operátor először aritmetikai jobb oldali eltolódást végez a változó vagy tulajdonság értékén. Az operátor ezután a művelet eredményét visszaosztja a változóhoz vagy a tulajdonsághoz.

Az aritmetikai eltolások nem körkörösek, ami azt jelenti, hogy az eredmény egyik végéről eltolt bitek nem lesznek újra bevezetve a másik végén. A jobb oldali aritmetikai eltolás esetén a jobb szélső bit pozícióján túlra eltolt biteket a rendszer elveti, és a bal szélső bitet a bal oldalon üres bitpozíciókba propagálja. Ez azt jelenti, hogy ha variableorproperty negatív érték van, az üres pozíciók egyre vannak állítva. Ha variableorproperty pozitív, vagy ha az adattípusa aláíratlan típus, akkor az üres pozíciók nullára vannak állítva.

Túlterhelés

Az >> operátor túlterhelhető, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálta a viselkedését, ha egy operandus az adott osztály vagy struktúra típusával rendelkezik. Az operátor túlterhelése >> befolyásolja az operátor viselkedését >>= . Ha a kód túlterhelt >>osztályt vagy struktúrát használ>>=, ügyeljen arra, hogy megértse annak újradefiniált viselkedését. További információ: Operátori eljárások.

Példa

Az alábbi példa egy >>= változó bitmintáját Integer a megadott mennyiséggel jobbra mozgatja, és az eredményt a változóhoz rendeli.

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

Lásd még