整数プロパティを含むクラスが16バイトのスペースを必要とするというMarioHewardtのセッションをすでに見ました。単純な次のクラスのサイズが16になる可能性があることを知りたいですか?
[StructLayout(LayoutKind.Sequential)]
public class MyClass
{
public int Age;
}
問題は、整数が4バイトのスペースを必要とすることです(右?)ので、他の12バイトはどこから来たのですか?また、Marshal.SizeOfを使用して、4になるクラスサイズを取得しました。
int n = Marshal.SizeOf(typeof(MyClass));
//n == 4
私はこれを読みましたが、上記のクラスは8バイトの内部データ(とにかくこれらのデータは何ですか?)、int値用に4バイト、および4バイトの未使用スペースを保持しているようです。では、16バイトかかる場合、Marshal.SizeOfが4を返すのはなぜですか?そしてそれが4をとるなら、それらの8バイトはどこでなくなったのでしょうか?私は本当に混乱しています。