一.前言
最近在做的工作需要 .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 源碼,然後自己實現了。