簡單來講:
有符號整數:即有正號和負號
無符號整數:即只有正號沒有負號
舉個例子,16位整型數
int i; i 為有符號整數,取值范圍:-32768——32767
unsigned int j; j 為無符號整數,取值范圍:0——65535
MSDN對Uint64 的描述:
表示 64 位無符號整數
此 API 不兼容 CLS。 兼容 CLS 的替代 API 為 Decimal。
但是 無符號整數不兼容CLS
為什么呢。
按照.Net CLS的定義:NET通過定義公共語言規范(CLS:Common Language Specification),限制了由這些不同引發的互操作性問題。CLS制定了一種以.NET平台為目標的語言所必須支持的最小特征,以及該語言與其他.NET語言之間實現互操作性所需要的完備特征。CLS是CTS的一個子集。這就意味着一種語言特征可能符合CTS標准,但又超出CLS的范疇。
也就是說CLS是.NET與其他.NET語言的共同規范特征。而無符號語言可能不支持其他.NET語言,不符號CLS的標准。但絕對符號CTS的標准。