本文介绍了如何基于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生成唯一的整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-27 07:25