Operatore >>= (Visual Basic)
Aggiornamento: novembre 2007
Esegue uno spostamento aritmetico a destra sul valore di una variabile o di una proprietà e riassegna il risultato alla variabile o alla proprietà.
variableorproperty >>= amount
Parti
variableorproperty
Obbligatoria. Variabile o proprietà di un tipo integrale (SByte, Byte, Short, UShort, Integer, UInteger, Long o ULong).amount
Obbligatoria. Espressione numerica di un tipo di dati che viene convertito verso il tipo più grande Integer.
Note
L'elemento a sinistra dell'operatore >>= può essere una semplice variabile scalare, una proprietà oppure un elemento di una matrice. La variabile o la proprietà non può essere ReadOnly (Visual Basic). L'operatore >>= assegna il valore specificato a destra alla variabile o alla proprietà indicata a sinistra.
Gli spostamenti aritmetici non sono circolari. In altri termini, i bit spostati oltre una delle estremità del risultato non vengono reintrodotti all'altra estremità. In uno spostamento aritmetico a destra, i bit spostati oltre la posizione dei bit all'estrema destra vengono ignorati e il bit all'estrema sinistra viene propagato nelle posizioni di bit liberate a sinistra. Questo significa che se variableorproperty ha un valore negativo, le posizioni liberate vengono impostate su uno. Se variableorproperty ha un valore positivo o se il tipo di dati è senza segno, le posizioni liberate vengono impostate su zero.
Overload
L'Operatore >> (Visual Basic) può essere sottoposto a overload. In altri termini, una classe o una struttura può ridefinirne il comportamento quando un operando specifica il tipo di tale classe o struttura. L'esecuzione dell'overload dell'operatore >> ha effetto sul comportamento dell'operatore >>=. Se il codice utilizza >>= su una classe o una struttura che esegue l'overload di >>, è importante comprendere il comportamento ridefinito di tale operatore. Per ulteriori informazioni, vedere Routine di operatore.
Esempio
Nell'esempio riportato di seguito l'operatore >>= viene utilizzato per spostare a destra lo schema di bit di una variabile Integer in base al numero specificato 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 (one bit was lost off the right end).