使用.NET Compact Framework 3.5在Windows CE设备上生成的GUID在统计上是否仍然唯一?

时间:2012-01-19 10:40:00

标签: .net compact-framework windows-ce guid

我知道您可以在单台和多台计算机上使用GUID生成,并且统计上不太可能两次生成相同的GUID。

互联网上有很多信息可以证明这一点。

可以说100%的Windows CE 4,5& 6个设备运行基于.NET Compact Framework 3.5生成GUID的应用程序?

我假设是,但找不到任何证明WinCE操作系统使用随机数的信息,并且它们是随机的。

任何人都可以提供此类信息和参考资料吗?

谢谢,

学家

1 个答案:

答案 0 :(得分:6)

来自.NET Compact Framework的Guid上的early article

  

.NET Compact Framework团队不断在两者之间进行权衡   框架占用空间大小,性能和实现时间。该   完整的.NET Framework Guid.NewGuid方法调用Windows API函数   CoCreateGuid调用UuidCreate生成全局唯一的128位   数字。不幸的是,这些功能不受支持   Pocket PC,因此没有为.NET实现Guid.NewGuid方法   紧凑框架。

本文提出了一种等于Windows版本的算法

  

事实证明,编写自定义实现很容易   Guid.NewGuid方法。以下显示了一个测试应用程序   在Pocket PC上生成GUID。它使用一个名为的自定义类   PocketGuid,使用与桌面GUID相同的算法   本文后面将详细讨论。

从2.0开始,实际的紧凑框架包含Guid.NewGuid方法,我认为它们包含了所提到的代码,这些代码在WinCE上产生了相同的Guids强度/唯一性。