所以我有一个第三方应用程序,我必须与之接口,这个应用程序需要来自我的users表的userID.问题是我将我的userID存储为GUID,第三方应用程序只接受整数.所以我想,如果有一种方法可以将GUID转换为整数然后能够将其转换回来(因为我从他们的服务器获得有关userID的通信),那么我不必重新编码太多.有任何想法吗?
整数使用32位,而GUID是128位 - 因此,没有办法将GUID转换为整数而不会丢失信息,因此您无法将其转换回来.
编辑:您可以将GUID存储到GUID表中,在该表中为每个表分配一个唯一的整数ID.这样,您可以在给定整数ID的情况下获取GUID.
您需要一个 128 位整数类型来保存等效的 GUID。您可以使用 Guid 的 ToByteArray() 方法获取字节和接受字节数组的构造函数来恢复 Guid。
您也可以使用 GetHashCode() 方法来获取整数,但两个不同的 GUID 可能具有相同的哈希码,因为可能的 Guid 多于 32 位整数。