int的大小在c中是2个字节,在c#中是4个。为什么是?为什么不像c那样的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#