本文介绍了如何基于GUID生成唯一的整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以从GUID生成(很可能)唯一的整数?
Is it possible to generate (highly probable) unique Integer from GUIDs?
int i = Guid.NewGuid().GetHashCode();
int j = BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0);
哪个更好?
推荐答案
埃里克·利珀特(Eric Lippert)一如既往地非常有趣地发表了有关。
Eric Lippert did a very interesting (as always) post about the probability of hash collisions.
您应该阅读所有内容,但他得出的结论是这个非常说明性的图形:
You should read it all but he concluded with this very illustrative graphic:
与您的特定问题有关,我也将使用 GetHashCode
,因为无论哪种方式都不可避免地会发生碰撞。
Related to your specific question, I would also go with GetHashCode
since collisions will be unavoidable either way.
这篇关于如何基于GUID生成唯一的整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!