Xamarin TimeSpan 使用小于 1 毫秒的时间

Xamarin TimeSpan use with times smaller than 1 millisecond

我有一个使用 TimeSpan 的 Class 库 (.net Standard 2.0)。如果我在控制台应用程序中使用 class 库,一切都会按预期进行。但是,当我在 Xamarin Forms(Shell App)应用程序中使用它时,TimeSpan 对于任何小于 1 毫秒的值都是 00:00:00。不幸的是,我的计算需要微秒。

例如下面的代码(实际代码比这更复杂,这只是最容易显示“错误”的代码):

var timetest = TimeSpan.FromSeconds(0.02286 / 943.356);

控制台应用程序的结果如下 这是 Xamarin 应用程序

我看到对于控制台应用程序,天、小时、分钟、秒和毫秒的值是 32 位值,但对于 Xamarin 应用程序,它是 16 位值。

有没有办法让我在 Xamarin 中像在控制台应用程序中一样处理 TimeSpan 值?或者这是不可能的,我必须修改 Class 库以仅使用 Double 来表示秒?

感谢 Jason 在评论中给出答案。我把它放在这里,以便每个人都可以清楚地看到它

此处创建 100 个刻度,因此相当于 0.1 毫秒:

TimeSpan t = new TimeSpan(100);

所以,在这个确切的上下文中是:

var timetest = new TimeSpan((int)(TimeSpan.TicksPerSecond*0.02286 / 943.356));

有关 TimeSpan 的更多信息:https://docs.microsoft.com/en-us/dotnet/api/system.timespan.-ctor?view=net-5.0#System_TimeSpan__ctor_System_Int32_System_Int32_System_Int32_