说我有这个GUID:
57F67098-00A9-4F78-A729-4234F5AC512C
我只想将最后一部分(4234F5AC512C
)转换为C#中的long。
答案 0 :(得分:2)
尝试
long result = BitConverter.ToInt64(yourGuid.ToByteArray(), 8);
这将使用最后八个字节,而不仅仅是最后六个字节。如果只需要六个字节,可以附加& 0xFFFFFFFFFFFF
。
未测试。检查字节顺序和字节顺序是否符合要求。
答案 1 :(得分:1)
获取字符串的最后一部分,然后使用Convert.ToInt64以及接受转换的基数16的重载。
Guid g = new Guid("57F67098-00A9-4F78-A729-4234F5AC512C");
int pos = g.ToString().LastIndexOf('-');
string part = g.ToString().Substring(pos+1);
long result = Convert.ToInt64(part, 16);
Console.WriteLine(result.ToString());
答案 2 :(得分:1)
这是一个十六进制(基数为16)的值。您可以通过这种方式转换Convert.ToInt64("4234F5AC512C", 16)
。