显然,当弄乱DLLImport时,使用Int32而不是int很重要?

Rud*_*udi 2 c# int alias int32

在C#中,当弄乱那个系统DLLImport /(非托管?)代码时,我在某处读到了使用Int32精确类型而不是int的重要性.这是真的?有人可以详细说明为什么这样做很重要?

adr*_*nks 6

我认为你更有可能阅读使用IntPtr而不是int.正如其他人所说,int并且Int32是等价的.

它是不是真的互换的问题intIntPtr因为它们具有相同的尺寸(4个字节)的32位系统上.在64位系统上出现问题 - 如果使用int而不是IntPtr,它现在具有错误的大小(4个字节而不是8个字节)并且可能导致错误.