C#中的随机数函数Random()
作者:springsnow 时间:2022-05-11 08:07:15
一、常用操作
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对象将具有相同的默认种子值,因而会产生几组相同的随机数。
System.Random r1 = new Random();
System.Random r2 = new Random();
Console.WriteLine(r1.Next().ToString());// 615672499
Console.WriteLine(r2.Next().ToString());// 615672499
使用单个Random对象生成所有随机数可避免此问题。
System.Random r = new Random();
Console.WriteLine(r.Next().ToString());// 1933637733
Console.WriteLine(r.Next().ToString());// 1799552041
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
来源:https://www.cnblogs.com/springsnow/p/11081320.html
标签:C#,随机数,函数,Random
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android Studio 报错failed to create jvm error code -4的解决方法
2023-01-22 03:13:49
Java 代理(Proxy)的原理及应用
2023-08-21 08:40:41
![](https://img.aspxhome.com/file/2023/5/66505_0s.png)
C#中委托用法实例详解
2022-11-02 23:24:40
JAVA实现LRU算法的参考示例
2022-01-26 21:56:49
Unity计时器功能实现示例
2022-03-08 20:02:39
![](https://img.aspxhome.com/file/2023/8/88408_0s.gif)
java微信公众号支付开发之现金红包
2023-09-01 17:28:38
![](https://img.aspxhome.com/file/2023/3/66163_0s.jpg)
Java 程序设计总复习题(java基础代码)
2022-05-11 07:02:31
IDEA自定义常用代码块及自定义快捷摸板
2022-01-13 18:54:22
![](https://img.aspxhome.com/file/2023/6/77996_0s.png)
Shiro 控制并发登录人数限制及登录踢出的实现代码
2023-09-18 02:03:56
![](https://img.aspxhome.com/file/2023/5/68515_0s.jpg)
Java读取本地json文件及相应处理方法
2023-10-16 16:37:34
IDEA中的clean,清除项目缓存图文教程
2022-02-05 09:02:02
![](https://img.aspxhome.com/file/2023/1/75431_0s.jpg)
Java使用ExecutorService来停止线程服务
2023-01-25 12:10:56
SpringBoot项目创建使用+配置文件+日志文件详解
2023-11-20 12:49:43
![](https://img.aspxhome.com/file/2023/9/59509_0s.jpg)
spring框架集成flyway项目的详细过程
2023-09-14 11:47:14
![](https://img.aspxhome.com/file/2023/7/70307_0s.jpg)
maven的pom.xml中profiles的作用详解
2022-07-03 20:40:54
![](https://img.aspxhome.com/file/2023/9/64509_0s.png)
JavaSE static final及abstract修饰符实例解析
2021-07-01 10:54:54
![](https://img.aspxhome.com/file/2023/9/62129_0s.png)
Java与C++分别用递归实现汉诺塔详解
2021-10-23 01:28:59
![](https://img.aspxhome.com/file/2023/7/62237_0s.png)
C# using的本质及使用详解
2022-10-10 06:11:23
![](https://img.aspxhome.com/file/2023/0/76390_0s.png)
详解SpringBoot修改启动端口server.port的四种方式
2022-03-10 20:28:48
springmvc和js前端的数据传递和接收方式(两种)
2021-06-15 08:33:37