>>Operatore = (Visual Basic)

Esegue uno spostamento aritmetico a destra sul valore di una variabile o di una proprietà e assegna il risultato alla variabile o alla proprietà.

Sintassi

variableorproperty >>= amount  

Parti

variableorproperty
Obbligatorio. Variabile o proprietà di un tipo integrale (SByte, Byte, Short, UShort, Integer, UInteger, Long o ULong).

amount
Obbligatorio. Espressione numerica di un tipo di dati che si estende a Integer.

Osservazioni:

L'elemento a sinistra dell'operatore >>= può essere una semplice variabile scalare, una proprietà o un elemento di una matrice. La variabile o la proprietà non può essere ReadOnly.

L'operatore >>= esegue prima uno spostamento aritmetico a destra sul valore della variabile o della proprietà. L'operatore assegna quindi il risultato di tale operazione alla variabile o alla proprietà.

I turni aritmetici non sono circolari, il che significa che i bit spostati da un'estremità del risultato non vengono reintrodotti all'altra estremità. In uno spostamento aritmetico a destra, i bit spostati oltre la posizione più a destra vengono eliminati e il bit più a sinistra viene propagato nelle posizioni di bit liberate a sinistra. Ciò significa che se variableorproperty ha un valore negativo, le posizioni liberate vengono impostate su una. Se variableorproperty è positivo o se il tipo di dati è un tipo senza segno, le posizioni liberate vengono impostate su zero.

Overload

L'operatore >> può essere sottoposto a overload, il che significa che una classe o una struttura può ridefinirne il comportamento quando un operando ha il tipo di tale classe o struttura. L'overload dell'operatore >> influisce sul comportamento dell'operatore >>=. Se il codice usa >>= su una classe o una struttura che esegue l'overload di >>, assicurarsi di comprenderne il comportamento ridefinito. Per altre informazioni, vedere Operator Procedures.

Esempio

Nell'esempio seguente viene usato l'operatore >>= per spostare il modello di bit di una variabile Integer direttamente in base alla quantità specificata e per assegnare il risultato alla variabile.

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

Vedi anche