當然,我知道無符號整數(uint
)和有符號整數(int
)之間的基本區別。使用uint或int
我注意到在.NET公共類中,名爲Length
的屬性始終使用帶符號整數。
也許這是因爲無符號整數不符合CLS。
然而,舉例來說,在我的靜態函數:
public static double GetDistributionDispersion(int tokens, int[] positions)
參數tokens
和positions
所有元素不能爲負數。如果它是負面的,最終的結果是沒用的。因此,如果我使用tokens
和positions
這兩者都使用int
,則每次調用此函數時都必須檢查這些值(並且如果發現負值,則返回非檢測值或拋出異常???),這很乏味。 OK,那麼我們應該使用uint
這兩個參數。這對我來說真的很有意義。
但是,我發現,在許多公共API中,他們幾乎總是使用int
。這是否意味着在執行過程中,他們總是檢查每個值的消極性(如果它應該是非負的)?
所以,總之,我該怎麼做?
我公司可提供兩種情況:
- 此功能只能由自己在自己的解決方案被稱爲;
- 該功能將被其他團隊中的其他人用作圖書館。
我們應該對這兩種情況使用不同的方案嗎?
彼得
P.S:我做了很多的研究,仍然沒有任何理由說服我不要用uint
:-)
我認爲這個帖子是:[使用int和uint以及何時使用的區別] [1] http:// stackoverflow。com/questions/3068474 /使用int-and-uint和何時使用差異 是對您的問題的回答。 – Ankar
@Ankar,在發佈這個問題之前我做了一些搜索,我也讀過這篇文章,但沒有提供足夠的理由說服我不要使用uint。 –
可能的重複[我應該使用uint在C#中的值不能爲負?](http://stackoverflow.com/questions/2013116/should-i-use-uint-in-c-sharp-for-值,這是不能被否定的) – nawfal