IntPtr.Size Property
Property Value
Type: System.Int32
The size of a pointer or handle in this process, measured in bytes. The value of this property is 4 in a 32-bit process, and 8 in a 64-bit process. You can define the process type by setting the /platform switch when you compile your code with the C# and Visual Basic compilers.
f your assembly is compiled as x86 only, it will always return 4, even on an x64 OS.
编译目标平台是32位的就是4,是64位的就是8,即使是在64位上,如果按32位编译也是4.