Operador >>= (Visual Basic)

Executa um deslocamento aritmético à direita no valor de uma variável ou propriedade e atribui o resultado de volta à variável ou propriedade.

Sintaxe

variableorproperty >>= amount  

Partes

variableorproperty
Obrigatórios. Variável ou propriedade de um tipo integral (SByte, Byte, Short, UShort, Integer, UInteger, Long ou ULong).

amount
Obrigatórios. Expressão numérica de um tipo de dados que é ampliada para Integer.

Comentários

O elemento no lado esquerdo do operador >>= pode ser uma variável escalar simples, uma propriedade ou um elemento de uma matriz. A variável ou propriedade não pode ser ReadOnly.

O operador >>= primeiro executa um deslocamento aritmético à direita no valor da variável ou da propriedade. Em seguida, o operador atribui o resultado dessa operação à variável ou à propriedade.

Os deslocamentos aritméticos não são circulares, o que significa que os bits deslocados de uma extremidade do resultado não são reintroduzidos na outra extremidade. Em um deslocamento aritmético para a direita, os bits deslocados além da posição de bit mais à direita são descartados, e o bit mais à esquerda é propagado para as posições de bit desocupadas à esquerda. Isso significa que, se variableorproperty tiver um valor negativo, as posições desocupadas serão definidas como uma. Se variableorproperty for positivo ou se o tipo de dados for um tipo sem sinal, as posições desocupadas serão definidas como zero.

Sobrecarga

O operador >> pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Sobrecarregar o operador >> afeta o comportamento do operador >>=. Se o seu código usa >>= em uma classe ou estrutura que sobrecarrega >>, certifique-se de entender o comportamento redefinido. Para obter mais informações, confira Procedimentos de operador.

Exemplo

O exemplo a seguir usa o operador >>= para mudar o padrão de bit de uma variável Integer para a direita pela quantidade especificada e atribuir o resultado à variável.

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

Confira também