如何将 GUID 的一部分转换为长整型
本文关键字:转换 长整型 一部分 GUID | 更新日期: 2023-09-27 17:55:23
假设我有这个GUID:
57F67098-00A9-4F78-A729-4234F5AC512C
我只想在 C# 中将最后一部分 ( 4234F5AC512C
) 转换为长篇。
获取字符串的最后一部分,然后将 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