所以我读的地方,INT等于INT32在C#。 在64位机器上也是如此吗? 我应该使用int32只是为了确保没有人在微软决定改变int的大小?
回答
int
是Int32
long
的别名是Int64
它们的大小不会改变,在所有的别名,只需使用你需要使用哪一个。
在你的代码中使用它们不以任何方式与32位和64位机
编辑: 在参考有关线程安全的意见。这是一个很好的问题和答案,详细说明您需要注意的任何问题。 Under C# is Int64 use on a 32 bit processor dangerous
其实我相信当涉及到线程同步时,32位和64位状态将很重要,因为在32位处理器上读取Int64需要2个处理操作,而不仅仅是1个,这可以导入线程安全。 – Ian 2009-11-05 12:08:41
@Ian:无论是在公共语言规范中,int32读取都不保证原子性。 – 2009-11-05 12:17:20
在两个32位和64位机器:
long
是64位,这是为System.Int64
的同义词。int
是32位,它是System.Int32
的同义词。
只需NO。类型是一致的。
您不必担心。一个int
是一个Int32
是一个32位有符号整数,并且不会更改,无论您使用的是哪个平台。
请参阅Microsoft C# spec(1.3节),ECMA C# spec(第8.2.1节)和ECMA CLI spec(第8.2.2节)。
整数为32位 长为64位
在32个和64位处理器
我用的Int32在我的第一年,.NET(当时1.0)。主要是为了跨语言可读性,因为Int32在VB中看起来与在C#中一样。回顾过去,我看到这整个关切都很愚蠢。使用本机类型,不要为此付出汗水。
- 1. 与诠释
- 2. 与诠释
- 3. SQLite Int64与Int32问题和SubSonic ActiveRecord
- 4. 日期与诠释
- 5. 比较与诠释
- 6. 的SQLite和Int64的到的Int32 C#
- 7. 性能 - 诠释与Char(3)
- 8. C#的char诠释
- 9. 别名为int32,int64
- 10. 在雨燕3.0与诠释枚举
- 11. C++长长的诠释
- 12. Java诠释为十六进制与0x
- 13. Sphinx搜索与诠释主键
- 14. 问题与诠释++和页面加载
- 15. 难投用的Int64和INT32指针
- 16. 转换INT32的倍增效应INT64
- 17. c编程诠释变量与多个'。's
- 18. Int32?与IComparable
- 19. ActionBarDrawerToggle希望活动DrawerLayout诠释诠释诠释
- 20. 与Int64的通用转换
- 21. 无法从“诠释”转换为“诠释*”
- 22. 如何将Int64与Int64进行比较
- 23. 为Int32生成警告Int64转换为Int64
- 24. 与诠释指数MySQL的简单的查询速度慢
- 25. 诠释在字典
- 26. 将两个Int32结合到Int64中
- 27. 谷歌协议缓冲区int32 vs int64
- 28. 异常与诠释为字符串的WriteLine转换
- 29. 比较日期的量和JPA与日期诠释规格
- 30. 检索MongoDB的文件与诠释为_id
http://stackoverflow.com/questions/164643/assuming-32bit-ints – rahul 2009-11-05 12:07:48
罗杰说。找不到问题。 – Faruz 2009-11-05 12:10:31