.netで重複しない乱数を生成する方法

908 ワード

.netで重複しない乱数を生成する方法
 
        //  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