Udostępnij za pośrednictwem


sizeof (C# odniesienia)

Używana do uzyskiwania rozmiar w bajtach dla typu niezarządzanego.Typy niezarządzanego obejmują wbudowanych typów, które są wymienione w tabeli poniżej, a także następujące:

  • Typ tekstu stałego

  • Typy wskaźnik

  • Zdefiniowane przez użytkownika struktur, które nie zawierają żadnych pól lub właściwości, które są typy odwołań

Poniższy przykład pokazuje, jak pobrać rozmiaru int:

// Constant value 4:
int intSize = sizeof(int); 

Uwagi

Począwszy od wersji 2.0 z C#, stosowanie sizeof do wbudowanych typów już wymaga, aby niebezpieczne być używany tryb.

sizeof Operator nie mogą być przeciążone.Wartości zwracane przez sizeof operator jest typu int.W poniższej tabeli przedstawiono wartości stałych, które są zastępowane sizeof wyrażeń, które mają niektórych wbudowanych typów jako operandów.

Wyrażenie

Stała wartość

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(decimal)

16

sizeof(bool)

1

Dla wszystkich innych typów, włączając strukturach, sizeof operator może być używany tylko w blokach niebezpieczny kod.Chociaż można użyć Marshal.SizeOf metody, wartość zwracana przez tę metodę nie zawsze jest taka sama, jak wartość zwracana przez sizeof.Marshal.SizeOfzwraca rozmiar po organizowanego typu należy sizeof zwróci rozmiar, jaki ma zostały przydzielone przez common language runtime, włączając dopełniającymi.

Przykład

    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.
    */

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Operator słowa kluczowe (C# odniesienia)

Enum (C# odniesienia)

Niebezpieczny kod i wskaźniki (Podręcznik programowania C#)

Strukturach (Podręcznik programowania C#)

Stałe (Podręcznik programowania C#)

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia