<<= 演算子 (Visual Basic)
変数またはプロパティの値に左シフトの算術演算を実行し、その結果を元の変数またはプロパティに代入します。
variableorproperty <<= amount
指定項目
variableorproperty
必ず指定します。 整数型 (SByte、Byte、Short、UShort、Integer、UInteger、Long または ULong) の変数またはプロパティです。amount
必ず指定します。 整数型 (Integer) に拡大変換されるデータ型の数値表現です。
解説
<<= 演算子の左側には、スカラー変数、プロパティ、配列の要素なども指定できます。 変数またはプロパティは ReadOnly (Visual Basic) にすることはできません。 <<= 演算子は、右側にある値を、左側にある変数またはプロパティに代入します。
数値のシフトは、循環的には行われません。つまり、一方の端からはみ出したビットが、もう一方の端に補われることはありません。 左シフトの算術演算では、結果のデータ型の範囲を超えてシフトされるビットは破棄され、右側に空いたビット位置はゼロに設定されます。
オーバーロード
<< 演算子 (Visual Basic) は オーバーロード できます。つまり、オペランドがそのクラスまたは構造体の型であれば、クラスまたは構造体がこの動作を再定義できます。 << 演算子をオーバーロードすると、<<= 演算子の動作に影響します。 << をオーバーロードしているクラスまたは構造体で <<= を使用している場合、再定義された動作を確認してください。 詳細については、「演算子プロシージャ (Visual Basic)」を参照してください。
使用例
<<= 演算子を使用して、整数型 (Integer) 変数のビット パターンを、指定されたビット数だけ左にシフトし、結果を元の変数に代入する例を、次に示します。
Dim var As Integer = 10
Dim shift As Integer = 3
var <<= shift
' The value of var is now 80.