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

最佳答案

使用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]...

反正你懂这个意思。您必须进行一些调整才能正确设置第五个参数。

关于c# - 在指定间隔内用C#创建随机GUID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12907243/

10-15 07:37