为什么int的大小在C#中特别是4字节?

时间:2015-09-10 05:37:42

标签: c# .net c#-4.0 int clr

int的大小在c中是2个字节,在c#中是4个。为什么是?为什么不像c那样的2字节。我也在网上搜索,但我没找到任何东西。我正在寻找真正的技术原因。

2 个答案:

答案 0 :(得分:3)

这是不正确的。 C中std::string的大小可以是两个,四个或八个字节,具体取决于您是将程序编译为16位,32位还是ILP64,但现在它几乎总是32位。

32位整数类型通常具有最短和最简单的名称,因为当今大多数计算机在使用32位数据时运行效率最高。 64位计算机可以比32位计算机使用64位数字更快地运行32位代码。虽然int可能(有时在64位计算机上)定义为64位,但在编译在32位计算机上编写和测试的代码时,这会引入许多微妙的错误。

如果您想使用精确的位数,可以使用两种语言中的类型来指定精确的宽度。

答案 1 :(得分:2)

在C#中,int表示Int32,即int是Int32的别名。因此int总是32位,相当于4个字节。它的制作使其与32位和64位平台兼容。如果你写Int64那么它是8个字节。

您可以参考此MSDN:What is the size of int in c#