Freigeben über


>>= Operator (Visual Basic)

Führt eine arithmetische Rechtsverschiebung für den Wert einer Variablen oder Eigenschaft aus und weist das Ergebnis der Variablen oder Eigenschaft wieder zu.

Syntax

variableorproperty >>= amount  

Bestandteile

variableorproperty
Erforderlich. Variable oder Eigenschaft eines integralen Typs (SByte, Byte, Short, UShort, Integer, UInteger, Long oder ULong).

amount
Erforderlich. Numerischer Ausdruck eines Datentyps, der auf Integer erweitert wird.

Bemerkungen

Das Element auf der linken Seite des >>=-Operators kann eine einfache skalare Variable, eine Eigenschaft oder ein Element eines Arrays sein. Die Variable oder Eigenschaft darf nicht ReadOnly sein.

Der >>=-Operator führt zunächst eine arithmetische Rechtsverschiebung für den Wert der Variablen oder Eigenschaft durch. Der Operator weist dann das Ergebnis dieses Vorgangs der Variablen oder Eigenschaft zu.

Arithmetische Verschiebungen sind nicht kreisförmig, was bedeutet, dass die Bits, die von einem Ende des Ergebnisses verschoben werden, am anderen Ende nicht wieder eingeführt werden. Bei einer arithmetischen Rechtsverschiebung werden die Bits, die über die äußerste rechte Bitposition hinaus verschoben wurden, verworfen und das äußerst linke Bit wird in die links frei gewordenen Bitpositionen verteilt. Dies bedeutet, dass bei einem negativen Wert von variableorproperty die frei werdenden Stellen auf 1 festgelegt werden. Wenn variableorproperty positiv ist oder der Datentyp ein nicht signierter Typ ist, werden die frei werdenden Positionen auf 0 (null) festgelegt.

Überladen

Der >> Operator kann überladen werden. Dies bedeutet, dass eine Klasse oder Struktur ihr Verhalten neu definieren kann, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist. Das Überladen des >> Operators wirkt sich auf das Verhalten des >>= Operators aus. Wenn Ihr Code >>= in einer Klasse oder Struktur verwendet, die >> überlädt, müssen Sie dessen neu definiertes Verhalten verstehen. Weitere Informationen finden Sie unter Operator Procedures.

Beispiel

Im folgenden Beispiel wird der >>=-Operator verwendet, um das Bitmuster einer Integer-Variable um den angegebenen Betrag nach rechts zu verschieben und das Ergebnis der Variablen zuzuweisen.

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

Siehe auch