.net中如何生成不重複的隨機數

.net中生成不重複的隨機數的方法html

 

        //獲取count個不大於maxNumber的整數,全部整數不重複。固然,count必須小於等於maxNumber

        static List<int> GetRandomArray(int maxNumber,int count)
        {
            List<int> list = new List<int>();//保存取出的隨機數
            int[] array=new int[maxNumber];//定義初始數組
            for (int i = 0; i < maxNumber; i++)//給數組元素賦值
                array[i] = i + 1;
            Random rnd = new Random();
            for (int j = 0; j < count; j++)
            {
                int index = rnd.Next(j,maxNumber);//生成一個隨機數,做爲數組下標
                int temp = array[index];//從數組中取出index爲下標的數
                list.Add(temp);//將取出的數添加到list中
                array[index] = array[j];//將下標爲j的數交換到index位置
                array[j] = temp;//將取出的數交換到j的位置
            }
            return list;
        }



參考資料:.net中生成不重複的隨機數   http://www.studyofnet.com/news/977.html c#

相關文章
相關標籤/搜索