首页 > 其他 > 详细

随机数Random

时间:2019-06-25 10:56:12      阅读:104      评论:0      收藏:0      [点我收藏+]

一、常用操作

  • NextDouble():返回0-1.0之间的随机数
  • Next():返回非负随机数(0-216
  • Next(i):返回一个小于i的非负随机数
  • Next(i,j):生成i – j 的随机数
  • NextBytes(byte[]):用随机数(0-255)填充指定字节数组的各个元素。
System.Random r=new Random();
s1 = r.NextDouble().ToString();//0.868992506465405
s2 = r.Next().ToString();//1665548020
s3=r.Next(10).ToString();//5
s4=r.Next(1000,2000).ToString();//1885
byte[] buffer=new byte[255];
r.NextBytes(buffer);
s5=buffer[254].ToString();;//207

二、种子操作

1、不指定随机种子,则默认有系统时钟生成种子。

时间间隔如果太短,创建的多个不同的Ramdom对象将具有相同的默认种子值,因而会产生几组相同的随机数。使用单个Random对象生成所有随机数可避免此问题。

System.Random r=new Random();
s1=r.Next().ToString();
s2=r.Next().ToString();

2、种子值相同时,其随机序列也相同。

System.Random r1 = new Random(1);
System.Random r2 = new Random(1);
System.Random r3 = new Random(2);

byte[] buffer1 = new byte[2];
byte[] buffer2 = new byte[2];
byte[] buffer3 = new byte[2];

r1.NextBytes(buffer1);
r2.NextBytes(buffer2);
r3.NextBytes(buffer3);

s1 = String.Join(",", buffer1);//70,208
s2 = String.Join(",", buffer2);//70,208
s3 = String.Join(",", buffer3);//113,147

随机数Random

原文:https://www.cnblogs.com/springsnow/p/11081320.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!