使用数组作为返回类型,返回不重复的随机数字

来源:互联网 发布:数据库入门书籍 编辑:程序博客网 时间:2024/05/17 00:03

   public static int[] GenerateNumber4()

        {

            int[] container = new int[33];

            int[] result = new int[33];

 

            Random rand = new Random();

 

            //初始化容器

            for (int i = 1; i <=33; i++)

            {

                container[i - 1] = i;

            }

 

            int index = 0;

            int value = 0;

 

            bool[] bl=new bool[33];

            //赋值操作

            for (int j = 0; j<33; j++)

            {

                do

                {

                    //如果产生的数相同继续循环,直到产生的数字以前没产生过

                    //bool数组中true表示该数字已经产生过,false表示没有产生过

                    //默认的情况下所有的数字都未产生过

                    index = rand.Next(0,container.Length);

                } while (bl[index]);

 

                bl[index] = true;

                value = container[index];

                result[j] = value;

            }

            Array.Sort(result);

            foreach (int item in result)

            {

                Console.Write(item + "  ");

            }

            return result;

        }