asp.net 无重复随机数代码

来源:互联网 发布:唧唧客户端mac 编辑:程序博客网 时间:2024/06/08 03:02
/// <summary>        /// 产生无重复随机数        /// </summary>        /// <param name="num">个数</param>        /// <param name="minValue">最小数</param>        /// <param name="maxValue">最大数</param>        /// <returns>数组</returns>         public int[] getNum(int num, int minValue, int maxValue)        {            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));            int[] arrNum = new int[num];//注意:数组中各元素的初始值是0,当0在取值范围内时要另处理            int tmp = 0;            for (int i = 0; i < num; i++)            {                tmp = getRandomNum(tmp, minValue, maxValue, ra);//取出值赋到数组中                if (Array.IndexOf(arrNum, tmp) < 0)//判断是否存在,不存在的话元素tmp的索引应为-1                {                    arrNum[i] = tmp;                }                else                {                    i = i - 1;                }            }            return arrNum;        }        public int getRandomNum(int tmp, int minValue, int maxValue, Random ra)        {            tmp = ra.Next(minValue, maxValue);            return tmp;        }

原创粉丝点击