可能重复:
Assuming 32bit ints
给出以下c#代码,
int testInt = 0;
Int64 testInt64 = 0;
Console.WriteLine("Size of IntPtr: {0}; testInt: {1}; testInt64: {2}", IntPtr.Size, sizeof(int), sizeof(Int64));
在64位机器上,我得到以下输出: IntPtr的大小:8; testInt:4; testInt64:8
sizeof(testInt)永远是8吗?换句话说,即使在64位计算机上,VS2010也会将c#托管整数编译为4个字节。有没有人知道C#中标准的“int”是64 / bit的时间是什么时候?如果在64位操作系统上运行的64位编译器编译的64位程序不是那样的话......什么时候会这样?