Operator << (C#-Referenz)

Aktualisiert: November 2007

Der Linksschiebeoperator (<<) verschiebt seinen ersten Operanden um die durch seinen zweiten Operanden angegebene Bitanzahl nach links. Der Typ des zweiten Operanden muss int sein.

Hinweise

Wenn der erste Operand int oder uint (32 Bit) ist, wird die Anzahl der Bitverschiebungen durch die fünf niedrigstwertigen Bits des zweiten Operanden angegeben.

Wenn der erste Operand long oder ulong (64 Bit) ist, wird die Anzahl der Bitverschiebungen durch die sechs niedrigstwertigen Bits des zweiten Operanden angegeben.

Die höchstwertigen Bits des ersten Operanden werden verworfen, und die niedrigstwertigen leeren Bits werden mit Nullen aufgefüllt. Schiebeoperationen lösen nie Überläufe aus.

Benutzerdefinierte Typen können den Operator << überladen (siehe Operator). Als Typ des ersten Operanden muss der benutzerdefinierte Typ verwendet werden, und als Typ des zweiten Operanden muss int verwendet werden. Beim Überladen eines binären Operators wird implizit auch der zugehörige Zuweisungsoperator, falls vorhanden, überladen.

Beispiel

class MainClass11
{
    static void Main()
    {
        int i = 1;
        long lg = 1;
        Console.WriteLine("0x{0:x}", i << 1);
        Console.WriteLine("0x{0:x}", i << 33);
        Console.WriteLine("0x{0:x}", lg << 33);
    }
}
/*
Output:
0x2
0x2
0x200000000
*/

Kommentare

Beachten Sie, dass i<<1 und i<<33 das gleiche Ergebnis ausgeben, da die fünf niedrigwertigen Bits von 1 und 33 übereinstimmen.

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Operatoren

Weitere Ressourcen

C#-Referenz