C#随机数Random
一、常用操作
- 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#随机数Random的更多相关文章
- (五)boost库之随机数random
(五)boost库之随机数random boost库为我们提供了许多的日常随机数生成器: 1.uniform_smallint:在小整数域内的均匀分布 2.uniform_int:在整数域上的均匀分布 ...
- Python 随机数 random
1. Python seed() 函数 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数. seed( )是不能直接访问的,需要导入 random 模块,然后 ...
- [Swift] 随机数 | Random numbers
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- JS对象随机数 random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。 注意:返回一个大于或等于 0但小于1的符号为正的数值
随机数 random() random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数. 语法: Math.random(); 注意:返回一个大于或等于 0 但小于 1 ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- shell脚本获取随机数random
用C提供的取随机数的方法srand和rand, 前者是给后者设置随机数种子seed. ; srand(seed); // time(NULL) 通常使用时间做种子 rnd_num = rand(); ...
- Python之数学(math)和随机数(random)
math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算, 还有丰富的数学和物理方程可供使用 random包可以用来生成 ...
- C# -- 随机数(Random)的使用
使用随机数产生一组大乐透号码 1. C#代码 1 Console.WriteLine("===============大乐透===红色球==============="); Lis ...
- 随机数Random
掷骰子10次,统计1.2出现的次数 public static void Main(string[] args) { ,a2=; Random random=new Random();//创建随机数对 ...
- python随机数random模块
需要 import random x=random.random() 产生 0 到 1 之间的随机浮点数 结果 0.005570080000840916 x=random.randint(1 ...
随机推荐
- web应用中实现同一个账号,后面登录的会把前面登录的挤下线
在web应用中假如没有做会话控制,会出现这样的情况,A登录了账号,B也登录了账号,都是同样的账号,A修改了信息,B会看到修改的信息,这样的用户体验不好,B会觉得我没有修改啊,为什么信息会改变.而做会话 ...
- 阿里的Netty知识点你又了解多少
前言 Netty 是一个可以快速开发网络应用程序的 NIO 框架,它大大简化了 TCP 或者 UDP 服务器的网络编程.Netty 的简易和快速开发并不意味着由它开发的程序将失去可维护性或者存在性能问 ...
- 【Tools】VMware虚拟机三种网络模式详解和操作
目录 00. 目录 01. VMware虚拟机三种网络模式 02. Bridged(桥接模式) 03. NAT(地址转换模式) 04. Host-Only(仅主机模式) 00. 目录 @ 参考:htt ...
- Go语言 ( 切片)
本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x []int) in ...
- vs、eclips、Idea调试技巧
vs F5:进入下一个断点 F10:不进入子函数 F11:进入子函数 Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl + M + L: 展开所有方 ...
- Java8 基础数据类型包装类-Long
https://blog.csdn.net/u012562117/article/details/79023440 基础 //final修饰不可更改,每次赋值都是新建类(其中-128~127是通过L ...
- .NET/C# 检测电脑上安装的 .NET Framework 的版本
原文:.NET/C# 检测电脑上安装的 .NET Framework 的版本 如果你希望知道某台计算机上安装了哪些版本的 .NET Framework,那么正好本文可以帮助你解决问题. 本文内容 如何 ...
- Alfred神器使用手册【转】
我曾经耗费巨大的精力,试图在计算机的使用效率上找到一条优化的捷径,一直以来都收效甚微.直到遇上 alfred,它强大的工作流机制,彻底解决了输入输出的痛点,极大的减少了程序之间的切换成本和重复按键成本 ...
- NEST 增删改查
/// <summary> /// HEAD /employee/employee/1 /// </summary> public void DocumentExists() ...
- ADO.NET 三(Command)
操作数据库需则要用到 Command 类中提供的属性和方法.下面来介绍一下如何使用 Command 类来操作数据表中的数据. Command 类概述 在 System.Data.SqlClient 命 ...