所以我讀的地方,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. C#新手:if語句&&與詮釋
- 8. C#的char詮釋
- 9. Dialog.Ask是給與詮釋indexoutofboundsExceptions []
- 10. 性能 - 詮釋與Char(3)
- 11. 別名爲int32,int64
- 12. 切片張量與INT32形狀的int64標量
- 13. 錯誤與詮釋的servlet 3.X
- 14. Python的循環與詮釋迭代
- 15. 在雨燕3.0與詮釋枚舉
- 16. C++長長的詮釋
- 17. 指針在C++詮釋
- 18. 與詮釋陣列處理在C++中2
- 19. C#比較本機類型與可爲空類型(Int32與Int32?)
- 20. 詮釋OCaml詮釋清單
- 21. Sphinx搜索與詮釋主鍵
- 22. Java詮釋爲十六進制與0x
- 23. 問題與詮釋++和頁面加載
- 24. ML不能統一「一個與詮釋
- 25. 轉換INT32的倍增效應INT64
- 26. 難投用的Int64和INT32指針
- 27. 詮釋在JavaScript
- 28. C++ unordered_map字符串與詮釋關鍵績效
- 29. C#操作數類型衝突:日期與詮釋
- 30. c編程詮釋變量與多個'。's
http://stackoverflow.com/questions/164643/assuming-32bit-ints – rahul 2009-11-05 12:07:48
羅傑說。找不到問題。 – Faruz 2009-11-05 12:10:31