当然,我知道无符号整数(uint)和有符号整数(int)之间的基本差异.
我注意到在.NET公共类中,一个名为Length的属性总是使用带符号的整数.
也许这是因为无符号整数不符合CLS.
但是,例如,在我的静态函数中:
public static double GetDistributionDispersion(int tokens,int[] positions)
参数令牌和位置中的所有元素不能为负.如果是负面的,最终的结果是无用的.因此,如果我使用int来代替令牌和位置,我必须在每次调用此函数时检查值(并返回无意义值或抛出异常,如果负值找到???),这是乏味的.
好的,那么我们应该为这两个参数使用uint.这真的对我有意义.
然而,我发现,在很多公共API中,他们几乎总是使用int.这是否意味着他们的实现,他们总是检查每个值的否定性(如果它是非负的)?
所以,一句话,我该怎么办?
我可以提供两种情况:
>这个函数只能在我自己的解决方案中自己调用;
>此功能将被其他团队中的其他人用作库.
我们应该为这两种情况使用不同的方案?
彼得
我做了很多研究,还没有理由说服我不要使用uint 原文链接:https://www.f2er.com/csharp/94657.html