使用 int.parse(-x) 为不同操作系统提供不同的“-”符号

问题描述 投票:0回答:1

在 Windows 10(SDK 7.0.201、.NET Runtime 7.0.3)和 Ubuntu 22.04.3(SDK 7.0.402、.NET Runtime 7.0.13)上,其计算结果为

true

int.Parse("-1").ToString().Equals("-1")

这里,第一个 «-» 是在 mac 上运行 («-1»).toString 的结果,第二个来自 linux。

但是,在 MacOS(SDK 7.0.201、运行时 7.0.3)上,其计算结果为 false。

为什么会出现这种情况?

c# macos cross-platform .net-7.0
1个回答
1
投票

发生这种情况是因为不同的默认文化。 “破折号”或“减号”根据文化使用不同的字符。在重要的范围内设置项目文化将解决问题。希望这可以帮助其他人挠头。

© www.soinside.com 2019 - 2024. All rights reserved.