Lea la definición de Marshal.SizeOf().
Dice esto: The size returned is the size of the unmanaged object. The unmanaged and managed sizes of an object can differ.
¿Eso significa que Marshal.SizeOf le devolverá el tamaño de la definición pero no el tamaño asignado de la memoria real porque puede haber algo de relleno para la alineación?C# ¿Cuál es el tamaño del objeto no administrado?
Por ejemplo:
struct MyStruct
{
char c;
}
El tamaño será de 1 byte para el objeto no administrado (tamaño no administrado) si uso Marshal.SizeOf()
pero puede ser de 2 o 4 bytes para objeto gestionado (tamaño gestionado) si uso sizeof(
) . ¿Estoy en lo cierto?