sizeof (C#-Referenz)

Aktualisiert: November 2007

Wird verwendet, um für einen Werttyp die Größe in Bytes zu erhalten. Zum Beispiel kann die Größe des int-Typs wie folgt abgerufen werden:

int intSize = sizeof(int);

Hinweise

Der Operator sizeof kann nur auf Werttypen angewendet werden, nicht auf Referenztypen.

Hinweis:

Ab Version 2.0 von C# ist der unsafe-Modus für die Anwendung von sizeof auf primitive Typen nicht mehr erforderlich.

Der Operator sizeof darf nicht überladen werden. Die vom Operator sizeof zurückgegebenen Werte sind vom Typ int. Die folgende Tabelle zeigt die konstanten Werte, die die Größen bestimmter primitiver Typen repräsentieren.

Ausdruck

Ergebnis

sizeof (sbyte)

1

sizeof (Byte)

1

sizeof (short)

2

sizeof (ushort)

2

sizeof (int)

4

sizeof (uint)

4

sizeof (long)

8

sizeof (ulong)

8

sizeof (char)

2 (Unicode)

sizeof (float)

4

sizeof (double)

8

sizeof (bool)

1

Für alle Typen einschließlich Strukturen kann der Operator sizeof nur in nicht sicheren Codeblocks verwendet werden. Sie können zwar die Marshal.SizeOf-Methode verwenden, diese gibt allerdings nicht immer denselben Wert wie sizeof zurück. Marshal.SizeOf gibt die Größe nach dem Marshalling des Typs zurück, während sizeof die Größe (einschließlich der Abstände) zurückgibt, wie sie von CLR (Common Language Runtime) bereitgestellt wurde.

Beispiel

class MainClass
{
    // unsafe not required for primitive types
    static void Main()
    {
        Console.WriteLine("The size of short is {0}.", sizeof(short));
        Console.WriteLine("The size of int is {0}.", sizeof(int));
        Console.WriteLine("The size of long is {0}.", sizeof(long));
    }
}
/*
Output:
    The size of short is 2.
    The size of int is 4.
    The size of long is 8.
*/

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 18.5.8 Der Operator "sizeof"

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Operatorschlüsselwörter (C#-Referenz)

Weitere Ressourcen

C#-Referenz