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