C#随机生成1到60不重复随机数

来源:互联网 发布:java截最后一次出现 编辑:程序博客网 时间:2024/06/04 19:46
  /// <summary>
        /// 获取不重复的随机数
        /// </summary>
        /// <param name="Listnum"></param>
        /// <param name="tmp"></param>
        /// <param name="minValue"></param>
        /// <param name="maxValue"></param>
        /// <param name="ra"></param>
        /// <returns></returns>
        public static int getNum(int[] Listnum, int tmp, int minValue, int maxValue, Random ra)
        {


            for (int i = 0; i < 12; i++)
            {
                if(Listnum[i]==tmp){//如果出現相同的随机数
                    tmp=ra.Next(minValue,maxValue);
                    getNum(Listnum,tmp,minValue,maxValue,ra);
                
                }
            }


            return tmp;


        }


        /// <summary>
        /// 得到不重复随机数集合
        /// </summary>
        /// <param name="Num"></param>
        /// <param name="MinValue"></param>
        /// <param name="MaxValue"></param>
        /// <returns></returns>


        public  static int []  GetRundomList(int Num,int MinValue,int MaxValue) {
            Random ra = new Random();
          int [] RandomList = new int[Num];//指定初始容量
            int FirstRundom = 0;
            for (int i = 0; i < Num-1; i++)
            {
                FirstRundom = ra.Next(MinValue,MaxValue);
                RandomList[i]=(getNum(RandomList,FirstRundom,MinValue,MaxValue,ra));
                
            }
            return RandomList;


        
        }



0 0