sizeof (Referencia de C#)

Actualización: noviembre 2007

Se utiliza para obtener el tamaño en bytes para un tipo de valor. Por ejemplo, el tamaño del tipo int se puede recuperar de la manera siguiente:

int intSize = sizeof(int);

Comentarios

El operador sizeof sólo se puede aplicar a tipos de valor, no a tipos de referencia.

Nota:

A partir de la versión 2.0 de C# en adelante, la aplicación de sizeof a los tipos primitivos ya no requiere la utilización del modo unsafe.

El operador sizeof no puede sobrecargarse. Los valores devueltos por el operador sizeof son del tipo int. La tabla siguiente muestra los valores constantes que representan los tamaños de ciertos tipos primitivos.

Expresión

Resultado

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

Para todos los otros tipos, entre ellos las estructuras, el operador sizeof se puede utilizar sólo en bloques de código no seguros. Aunque se puede utilizar el método Marshal.SizeOf, el valor devuelto por este método no siempre es igual al valor devuelto por sizeof. Marshal.SizeOf devuelve el tamaño después de calcular las referencias del tipo, mientras que sizeof devuelve el tamañocuando éste ha sido asignado por Common Language Runtime, incluido cualquier valor de relleno.

Ejemplo

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

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 18.5.8 El operador sizeof

Vea también

Conceptos

Guía de programación de C#

Referencia

Palabras clave de C#

Palabras clave de operadores (Referencia de C#)

Otros recursos

Referencia de C#