/// <summary> /// Generates a new Guid using a specific <see cref="GuidCreationCulture"/>. /// </summary> /// <returns></returns> public static long NewGuidInt64(GuidCreationCulture creationCulture) { switch (creationCulture) { // Hash default: { long id; do { var bytes = Guid.NewGuid().ToByteArray(); id = BitConverter.ToInt64(bytes, bytes.Length - 8); }while (id < 0); return(id); } case GuidCreationCulture.Utc: { return(DateTime.UtcNow.Ticks ^ _rnd.Next()); } } }
/// <summary> /// Generates a new Guid using a specific <see cref="GuidCreationCulture"/>. /// </summary> /// <returns></returns> public static int NewGuidInt32(GuidCreationCulture creationCulture) { switch (creationCulture) { // Hash default: { int id; do { var bytes = Guid.NewGuid().ToByteArray(); id = BitConverter.ToInt32(bytes, bytes.Length - 4); }while (id < 0); return(id); } case GuidCreationCulture.Utc: { return(DateTime.UtcNow.Millisecond ^ _rnd.Next()); } } }