[英]How can I convert part of a GUID to a long?
说我有这个GUID:
57F67098-00A9-4F78-A729-4234F5AC512C
我只想在C#中将最后一部分( 4234F5AC512C
)转换为long。
尝试
long result = BitConverter.ToInt64(yourGuid.ToByteArray(), 8);
这将使用最后八个字节,而不仅仅是最后六个字节。 如果只需要六个字节,则可以追加& 0xFFFFFFFFFFFF
。
未经测试。 检查字节顺序和字节序是否符合要求。
获取字符串的最后一部分,然后将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());
这是一个十六进制(以16为底)的值。 您可以通过Convert.ToInt64("4234F5AC512C", 16)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.