我正在覆盖获取哈希码的过程。在某个时候,代码执行到了这个点。
Hash = 1210600964 * 31 + -837896230
会导致 OverflowException
异常。我能使用类似下面的方法吗:
Hash = addUnsafe(multiplyUnsafe(1210600964, 31), -837896230)
我是否可以在不需要将我的项目链接到另一个程序集的情况下禁用溢出检查呢? 我不想移除溢出检查。 dllimports
是可以接受的。
unsafe
,我理解你想让你的代码允许算术溢出而不抛出异常,是这样吗?如果是这样,那么 C# 的关键字unchecked
就可以实现这一点,但是 VB.NET 并不具备本地支持。我提供的链接中提供了 VB.NET 克服这种限制的方法。如果我误解了你,请告诉我。 - sstan