如何将 GUID 的一部分转换为长整型

本文关键字:转换 长整型 一部分 GUID | 更新日期: 2023-09-27 17:55:23

假设我有这个GUID:

57F67098-00A9-4F78-A729-4234F5AC512C

我只想在 C# 中将最后一部分 ( 4234F5AC512C) 转换为长篇。

如何将 GUID 的一部分转换为长整型

获取字符串的最后一部分,然后将 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());

尝试

long result = BitConverter.ToInt64(yourGuid.ToByteArray(), 8);

这将使用最后八个字节,而不仅仅是最后六个字节。如果只需要六个字节,则可以追加& 0xFFFFFFFFFFFF

未经测试。检查字节顺序和字节序是否符合要求。

这是一个

十六进制(基数 16)值。您可以通过这种方式转换它Convert.ToInt64("4234F5AC512C", 16) .

http://msdn.microsoft.com/en-us/library/bb311038.aspx