using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*****************************
 * 概要:随机数
 * 设计者:DuanXuWen
 * 设计时间:20180309
 * 版本:0.1
 * 修改者:
 * 修改时间:
 * ***************************/
namespace Common
{
    public class RandomHelper
    {
        /// <summary>
        /// 默认10000000
        /// </summary>
        private static int _maxNumb = 10000000;

        /// <summary>
        /// 默认10000000
        /// </summary>
        public static int MaxNumb
        {
            get
            {
                return _maxNumb;
            }
            set
            {
                _maxNumb = value;
            }
        }

        /// <summary>
        /// 返回小于指定最大值的非负随机数
        /// </summary>
        /// <returns></returns>
        public static int GetRandomNumb()
        {
            return GetRandomNumb(MaxNumb);
        }

        /// <summary>
        /// 返回小于指定最大值的非负随机数
        /// </summary>
        /// <param name=\"maxNumb\"></param>
        /// <returns></returns>
        public static int GetRandomNumb(int maxNumb)
        {
            byte[] bytes = new byte[4];
            System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
            rng.GetBytes(bytes);
            //生成随机种子,避免短时间产生相同随机数
            int seed = BitConverter.ToInt32(bytes, 0);
            Random rd = new Random(seed);
            return rd.Next(maxNumb);
        }
    }
}

 

收藏 打印