我正在寻找返回类型为ulong的Math.Abs(ulong,ulong)。 但似乎微软只为long,int等实现了它。 还有另一种快速的方法吗?
抱歉,需要更正:
Math.Abs(ulong - ulong)
所以它可以变为负数,并且超出了长期的范围。
答案 0 :(得分:11)
无符号长值始终为正值,因为它们不包含符号。因此,Math.Abs
对ulong
毫无意义。
鉴于您的新问题,您可以使用:
ulong difference = first > second ? first-second : second-first;
这将为您提供两个值之间的差异,这实际上是您通过减去两个值得到的结果的绝对值,就像它们被签名一样。
答案 1 :(得分:1)
为了避免超出范围我认为你想要这样的东西:
a > b ? a-b : b-a