6

我正在寻找返回类型为 ulong 的 Math.Abs​​(ulong,ulong)。但似乎微软只实现了 long、int 等。还有另一种快速的方法吗?

对不起,需要更正:

Math.Abs(ulong - ulong)

所以它可能会变成负数,并且超出长期的范围。

4

2 回答 2

14

无符号长整型值始终为正,因为它们不包含符号。因此,Math.Abs对于ulong.


鉴于您的新问题,您可以使用:

ulong difference = first > second ? first-second : second-first;

这将为您提供两个值之间的差异,这实际上是您通过减去两个值得到的结果的绝对值,就好像它们已签名一样。

于 2012-09-03T20:38:28.270 回答
1

为了避免超出范围,我认为你想要这样的东西:

a > b ? a-b : b-a
于 2012-09-03T20:41:58.840 回答