码迷,mamicode.com
首页 > Windows程序 > 详细

c# 生成不重复随机数

时间:2016-04-09 23:33:41      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
 1         //从min到max个连续整数中产生n个随机数
 2         private  static int[] GenerateNumbers(int min, int max, int n) 
 3         {
 4             //seed array 长度
 5             int seedNum = max - min + 1;
 6             //seed array  
 7            int[] startArray = new int[seedNum];
 8            
 9            for (int i = 0; i < seedNum; i++)
10            {
11                startArray[i] = min++;
12            }
13             //随机数个数  
14             int[] resultArray = new int[n];//结果存放在里面  
15             Random rnd = new Random();
16             for (int i = 0; i < n; i++)
17             {
18                 int seed = rnd.Next(0, startArray.Length - i);//从剩下的随机数里生成  
19                 resultArray[i] = startArray[seed];//赋值给结果数组  
20                 //把随机数产生过的位置替换为未被选中的值。  
21                 startArray[seed] = startArray[startArray.Length - i - 1];
22             }
23 
24              return resultArray;
25         }
View Code

 

c# 生成不重复随机数

标签:

原文地址:http://www.cnblogs.com/chenjiehwy/p/5372844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!