gpt4 book ai didi

c# - int.Parse 负数导致异常

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:04 33 4
gpt4 key购买 nike

这行代码:

int.Parse("-1");

当我在设备上运行它时,导致 FormatException 提示“输入字符串的格式不正确”。在模拟器上它工作得很好。我已经用一堆设备对此进行了测试,并且唯一按预期工作的设备(即返回值为 -1 的 int)是运行 android 4.2.1 的三星 Galaxy Nexus。所有这些设备都会产生异常:

  • 谷歌 Nexus 7 (4.3)
  • 三星 S3 (4.1.2)
  • 三星 Galaxy Tab (4.0.4)
  • LG P970 (2.2.2)
  • HTC 感觉 (2.3.4)

我还尝试下载应用程序 C#Shell从设备上的 playstore,输入上面的行,结果是一样的:

C#Shell screenshot

有谁知道为什么会这样,或者可以做些什么来解决这个问题?

更新:

我调查这个问题的原因是因为我们的应用程序从我们的服务器请求一个 JSON,它包含一堆负数。然后我们使用 ServiceStack解析 JSON,这会导致所有负数变为 0。ServiceStack 无法设置 FormatSpecifier。

int.Parse("-1", CultureInfo.InvariantCulture) 似乎在所有设备上都能按预期工作,无论它们使用什么语言,但是 int.Parse("-1 ", new CultureInfo("sv-SE")) 没有。

我觉得这有点奇怪,因为 int.Parse("-1", new CultureInfo("sv-SE")) 在我们不使用 xamarin 或 mono 的其他平台上工作.

最佳答案

我最终提交了对 ServiceStack 的修复:

https://github.com/ServiceStack/ServiceStack.Text/pull/365

更新:

现在 Xamarin 也修复了它:

https://bugzilla.xamarin.com/show_bug.cgi?id=14185

关于c# - int.Parse 负数导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18356272/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com