Int32与Int64对比C#中的Int

时间:2009-11-05 12:01:07

标签: c# .net

  

可能重复:
  Assuming 32bit ints

所以我在c#中读到int等于int32的地方。 在64位机器上也是如此吗? 我应该使用int32只是为了确保microsoft中没有人决定改变int的大小吗?

6 个答案:

答案 0 :(得分:27)

intInt32

的别名

longInt64

的别名

它们的尺寸根本不会改变,只需使用您需要使用的尺寸。

在代码中使用它们与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)

你不用担心。 intInt32是一个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#中看起来相同。回想起来,我看到整个问题都很愚蠢。使用原生类型,不要冒汗。