【发布时间】:2010-12-27 11:13:51
【问题描述】:
C# 中 long 和 int 之间的实际区别是什么?我知道在 C/C++ 中,在某些 64 位平台上 long 将是 64 位(当然取决于操作系统),但在 C# 中,它全部在 .NET 运行时中运行,所以有实际区别吗?
另一个问题:int 能否持有long(按演员)而不丢失所有平台上的数据?
【问题讨论】:
-
除了答案之外,请注意 long 和 int 具有静态 MaxValue 和 MinValue 常量。
-
我知道这一点,但我不确定这些是否会根据 32 位和 64 位平台而改变。在 google 上搜索只得到了很多 C/C++ 结果。
-
平台在 .NET 中被抽象出来,因此您始终可以获得一致的运行时(至少对于托管代码而言)
-
不要将 .net CLR 视为虚拟机。将其视为即时编译器,这更有意义。 .Net 代码在应用程序启动时编译为完全原生的机器代码,然后再运行。
-
long 和 int 的区别当然是 long。总和也是如此。 :-)