在指定的时间间隔内在C#中创建随机GUID

时间:2012-10-16 03:44:49

标签: c# guid

使用.NET Framework,有没有办法在指定的时间间隔内在C#中创建随机GUID?例如,我需要一个大于ffffffff-ffff-ffff-ffff-1fffffffffffff且小于ffffffff-ffff-ffff-ffff-2fffffffffffff的随机GUID。

1 个答案:

答案 0 :(得分:7)

使用this overload

[CLSCompliantAttribute(false)]
public Guid(
    uint a,
    ushort b,
    ushort c,
    byte d,
    byte e,
    byte f,
    byte g,
    byte h,
    byte i,
    byte j,
    byte k
)

Guid(0xa,0xb,0xc,0,1,2,3,4,5,6,7)创建一个与以下内容相对应的Guid:

0000000a-000b-000c-0001-020304050607

您可以按照自己喜欢的方式随机化参数。例如,你可以这样做:

var r[] = new byte[] { 1,2,3,4 } // chosen by fair dice rolls
                                 // guaranteed to be random

var guid = new GUID(0xFFFFFFFF, 0xFFFF, 0xFFFF, 0xFFFF, r[1], r[2], r[3], r[4]...

嗯,你明白了。你必须做一些小事才能得到第五个参数。