爲什麼不.NET使用無符號整數類型等uint
(UInt32
)或ushort
(UInt16
),選擇那些不能爲負值,像DateTime.Year
和DateTime.Month
性質。事實上,我從來沒有見過他們在FCL中用於我的回憶。我們什麼時候假設使用它們?.NET爲什麼不使用無符號整數類型來處理像DateTime.Month和DateTime.Year這樣的事物?
0
A
回答
3
引述 「Language Independence and Language-Independent Components」
.NET框架是獨立的語言。這意味着,作爲開發人員,您可以使用C#,C++/CLI,Eiffel,F#,IronPython,IronRuby,PowerBuilder,Visual Basic,Visual COBOL和Windows等多種面向.NET Framework的語言進行開發。電源外殼。您可以訪問爲.NET Framework開發的類庫和類成員,而無需知道它們最初編寫的語言,而無需遵循任何原始語言的約定。如果你是一個組件開發者,你的組件可以被任何.NET Framework應用訪問,而不管它的語言如何。
並非所有的語言都支持無符號整數,因此在公共或受保護的方法中使用無符號整數會使您的代碼不符合CLS。您可以在私人和內部成員上使用它們,而不是公共或受保護的成員。正因爲如此,.NET框架試圖使其所有的公共方法和成員都符合CLS,因此可以從任何語言中使用它們。
相關問題
- 1. 帶符號和無符號整數 - 爲什麼字節處理方式不同?
- 2. 爲什麼或者爲什麼不用'UL'來指定無符號長整型?
- 3. 爲什麼Delphi和Free Pascal通常更喜歡有符號整數數據類型來無符號數?
- 4. 使用枚舉來處理整型事件類型
- 5. 爲什麼RSS不能處理&符號?
- 6. c中的無符號整數的類型是什麼?
- 7. 爲什麼Qt爲其容器類使用帶符號整數類型?
- 8. 我應該使用什麼樣的數據類型來處理長內容?
- 9. 什麼是無符號數據類型?
- 10. 爲什麼不使用像java.util。*這樣的通配符導入?
- 11. 爲Visual Basic .NET中的無符號整數分配物理內存?
- 12. 這是什麼類型的符號?
- 13. 爲什麼Date會像其他算術運算符一樣使用+和相似數字來處理字符串?
- 14. 爲什麼處理時間戳的代碼使用帶符號整數?
- 15. 爲什麼這種類型不允許使用類型參數?
- 16. 爲什麼像ArrayList和HashMap這樣的類不同步?
- 17. 爲什麼這些類型參數不符合類型細化?
- 18. 爲什麼管理是否可以在有符號和無符號整數類型之間進行類型轉換的規則如此不一致?
- 19. 爲什麼我們需要像json2這樣的js庫來處理json?
- 20. 這裏的無符號類型的目的是什麼?
- 21. 無符號整數和無符號字符保持相同的值,但行爲不同,爲什麼?
- 22. 從無符號長整型轉換爲無符號整型
- 23. 對非數字類型符號處理
- 24. 爲什麼最終的類無法用CDI來處理?
- 25. 應使用什麼數據類型來存儲像10^6和10^-9這樣的數字?
- 26. 什麼發生在整數類型轉換的無符號字符的背景?
- 27. OpenCV文檔說「uchar」是「無符號整數」數據類型。怎麼樣?
- 28. 「Int」和「無符號整型」
- 29. C++和 - (無符號整型)
- 30. 爲什麼ACTION_MEDIA_BUTTON無法處理事件?
因爲它們不符合CLS?然後看看[這個問題](http://stackoverflow.com/questions/6325/why-are-unsigned-ints-not-cls-compliant?rq=1)的答案爲什麼他們不是。 –
啊,而且我現在注意到MSDN在那些不符合CLS的類型的頂部註明了它的位置。 –
.NET 1.0中提供的四種語言中的兩種不能處理無符號整數。 J#已經死了,VB.NET在2.0版本中得到了更新,所以它今天不是什麼大問題。但是他們當然不能再改變它了。 –