欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#中的随机数函数Random()

时间:2022-11-01 09:20:03|栏目:.NET代码|点击:

一、常用操作

  • 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

上一篇:C#中Task.ContinueWith连续任务使用实例

栏    目:.NET代码

下一篇:Aspnetpager对GridView分页并顺利导出Excel

本文标题:C#中的随机数函数Random()

本文地址:http://www.codeinn.net/misctech/217902.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有