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

Mar*_*426 7 c# guid

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

Rob*_*vey 7

使用此重载:

[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
)
Run Code Online (Sandbox Code Playgroud)

Guid(0xa,0xb,0xc,0,1,2,3,4,5,6,7) 创建一个对应于的Guid:

0000000a-000b-000c-0001-020304050607
Run Code Online (Sandbox Code Playgroud)

您可以随意随机化参数.例如,你可以这样做:

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]...
Run Code Online (Sandbox Code Playgroud)

反正你懂这个意思.你必须做一些小事来让第五个参数正确.

  • 虽然这可能是明显的,只是因为它是一个'Guid`并不意味着它是一个GUID.也就是说,您可以确保您的算法确保全局唯一性.否则它只是一个"Id". (3认同)