C#随机一组不重复的数字

c#编写,随机一组数字,不重复,以1到18为例
首先,先建立 两个数组或者list,存放

randomArray() 产生随机数,并加入到list中,
getRandom() 判断产生的随机数是否已经在旧的list存在或者是已经在新的list中存在,不存在就加入到newArray中

        private List<int> oldArray = new List<int> { 0, 0, 0, 0, 0, 0, 0 };//初始一个oldArray,存放上一次产生的随机数组

        private List<int> newArray;//定义newArray 用来存放产生的随机数,使用

       


 public void randomArray()

        { 
         
Random ra = new Random();

            newArray = new List<int>();

            while(newArray.Count<7)

            {

                 int random = ra.Next(1, 18);

                 if (newArray.Count == 0)

                {

                    newArray.Add(random);

                }

                else  getRandom(random);

            } 

            oldArray = newArray;

        } 

        public void getRandom(int rand)

        {

           for (int j = 0; j < oldArray.Count; j++)

           {

               if (oldArray[j] == rand)

               {

                   return ;

               } 

           }

               for (int k = 0; k < newArray.Count; k++)

               {

                   if (newArray[k] == rand)

                   {

                       return ;

                   }

               }

               newArray.Add(rand);

        }


你可能感兴趣的:(C#随机一组不重复的数字)