网站建设资讯

NEWS

网站建设资讯

C#中怎么实现一个随机数发生器

C#中怎么实现一个随机数发生器,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出雷山免费做网站回馈大家。

***种方法不指定随机种子,系统自动选取当前时间作为随机种子:

Random ro = new Random();

第二种方法可以指定一个int型参数作为随机种子:

int iSeed=10;  Random ro = new Random(10);  long tick = DateTime.Now.Ticks;  Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));

用它来检测生成的随机数是否有重复,如果取出来的数字和已取得的数字有重复就重新随机获取。

Random ra=new Random(unchecked((int)DateTime.Now.Ticks));  int[] arrNum=new int[10];  int tmp=0;  int minValue=1;  int maxValue=10;  for (int i=0;i<10;i++)  {  tmp=ra.Next(minValue,maxValue); //随机取数  arrNum=getNum(arrNum,tmp,minValue,maxValue,ra); //取出值赋到数组中  }  .........  .........  public int getNum(int[] arrNum,int tmp,int minValue,int maxValue,Random ra)  {  int n=0;  while (n<=arrNum.Length-1)  {  if (arrNum[n]==tmp) //利用循环判断是否有重复  {  tmp=ra.Next(minValue,maxValue); //重新随机获取。  getNum(arrNum,tmp,minValue,maxValue,ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。  }  n++;  }  return tmp;  }

关于C#中怎么实现一个随机数发生器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


本文名称:C#中怎么实现一个随机数发生器
本文来源:http://njwzjz.com/article/pjjcoe.html