为什么无符号整数不符合CLS?
我开始认为类型规范只是为了性能而不是为了正确性.
为什么是Array.Lengthint,而不是uint.这让我感到困扰(只是一点点),因为长度值永远不会是负数.
这也迫使我在我自己的类上使用int作为length-property,因为当你指定一个int值时,这需要显式地转换...
所以最终的问题是:对于unsigned int(uint)有什么用?甚至微软似乎也没有使用它们.
它背后有一个原因.NET Framework不使用无符号数据类型吗?
我不应该在我的代码中采用它们,但是例如,List <> 的Count属性是一个int.你不能有负数,所以为什么不把它定义为uint?即使我知道计数不能为负,我应该只使用int吗?