可能重复:
Assuming 32bit ints
所以我在c#中读到int等于int32的地方。 在64位机器上也是如此吗? 我应该使用int32只是为了确保microsoft中没有人决定改变int的大小吗?
答案 0 :(得分:27)
int
是Int32
long
是Int64
它们的尺寸根本不会改变,只需使用您需要使用的尺寸。
在代码中使用它们与32位和64位机器没有任何关系
编辑: 参考有关线程安全的评论。这是一个很好的问题和答案,详细说明您需要注意的任何问题。 Under C# is Int64 use on a 32 bit processor dangerous
答案 1 :(得分:7)
在32位和64位计算机上:
long
是64位,它是System.Int64
的同义词。int
是32位,它是System.Int32
的同义词。答案 2 :(得分:7)
你不用担心。 int
是Int32
是一个32位有符号整数,无论您使用的平台如何,它都不会改变。
请参阅Microsoft C# spec(第1.3节),ECMA C# spec(第8.2.1节)和ECMA CLI spec(第8.2.2节)。
答案 3 :(得分:2)
只需否。类型是一致的。
答案 4 :(得分:2)
整数是32位 长是64位
在32位和64位处理器上
答案 5 :(得分:1)
我在.NET的第一年使用Int32(然后是1.0)。大多数情况下都是为了跨语言可读性,因为Int32在VB中与在C#中看起来相同。回想起来,我看到整个问题都很愚蠢。使用原生类型,不要冒汗。