OSX解析错误HexNumber格式

本文关键字:HexNumber 格式 错误 OSX | 更新日期: 2023-09-27 18:15:40

我目前在osx机器上尝试用c#解析十六进制字符串时遇到了一个奇怪的问题。

这是给我带来麻烦的一行:

string userID = SystemInfo.deviceUniqueIdentifier;
userID = Int64.Parse(userID, System.Globalization.NumberStyles.HexNumber).ToString();

初始字符串是这样的:XXX999X-XX99-9

我得到的错误如下:

FormatException: Input string was not in the correct format: Did not parse entire string. pos = 8 s.Length = 15

现在很明显,"-"就是这里的问题所在。有办法避免这种情况吗?如何正确解析十六进制哈希?我这样做是为了生成唯一的用户id,所以我不知道是否可以简单地替换不允许的符号。这个问题只出现在OSX设备上。

OSX解析错误HexNumber格式

你试过删除"-"吗?

string userID = SystemInfo.deviceUniqueIdentifier.Replace("-", string.Empty);
userID = Int64.Parse(userID, System.Globalization.NumberStyles.HexNumber).ToString();