Partager via


sizeof (Référence C#)

Mise à jour : novembre 2007

Utilisé pour obtenir la taille en octets d'un type valeur. Par exemple, la taille du type int peut être récupérée comme suit :

int intSize = sizeof(int);

Notes

L'opérateur sizeof peut être appliqué uniquement à des types valeur, et non à des types référence.

Remarque :

Depuis la version 2.0 de C#, appliquer sizeof à des types primitifs n'oblige plus à utiliser le mode unsafe.

L'opérateur sizeof peut ne pas être surchargé. Les valeurs retournées par l'opérateur sizeof sont de type int. Le tableau suivant montre les valeurs de constante qui représentent la taille de certains types primitifs.

Expression

Résultat

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

Pour tous les autres types, y compris structs, l'opérateur sizeof ne peut être utilisé que dans des blocs de code unsafe. Bien que vous puissiez utiliser la méthode Marshal.SizeOf, la valeur retournée par cette méthode n'est pas toujours la même que la valeur retournée par sizeof. Marshal.SizeOf retourne la taille après que le type a été marshalé, alors que sizeof retourne la taille lorsqu'elle a été allouée par le Common Language Runtime, y compris un éventuel remplissage.

Exemple

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

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 18.5.8 L'opérateur sizeof

Voir aussi

Concepts

Guide de programmation C#

Référence

Mots clés C#

Mots clés des opérateurs (Référence C#)

Autres ressources

Référence C#