一.前言
最近在做的工作需要 .NET 和 Java 功能对齐,在 Java 方面使用了一个科学 API: Math.nextUp
,在 .NET 中并没有同名的方法。
二.解决
具有相同功能的 API,.NET 里是有的叫做 Math.BitIncrement()
。但是只支持 Core >= 3.0
而我的项目是一个 .NET Standard 2.0 的类库项目,由于业务原因我不能直接更改目标框架。如何解决呢?继续往后看。
API 的含义
办法
我采用了比较粗暴的办法,直接 Copy 源码:runtime/Math.cs at main · dotnet/runtime (github.com)
测试了输出结果是一样的,问题解决!
三.总结
Math.BitIncrement()
是时总(https://www.cnblogs.com/Incerry) 帮我找出来的,也学到了解决这种问题的思路,先去 MS Docs 查一下 API。防止 API 在不同框架之间的差异造成时间的浪费。要是真的没有都打算自己撸一下 jdk 源码,然后自己实现了。