Ejemplo n.º 1
0
        /// <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());
            }
            }
        }
Ejemplo n.º 2
0
        /// <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());
            }
            }
        }