C# Random
一、简介
在Random类用于创建随机数。(当然是伪随机的。)
二、Random用法
例:
Random rnd = new Random();
int month = rnd.Next(1, 13); // 创建一个数字是1~12的之间的
int dice = rnd.Next(1, 7); // 创建一个数字是1~6之间的
int card = rnd.Next(52); // 创建一个数字是0~51之间的
三、方法详细说明
Random 类中提供的 Next、NextBytes 以及 NextDouble 方法可以生成整数类型、byte 数组类型以及双精度浮点型的随机数,详细说明如下表所示。
- Next():每次产生一个不同的随机正整数
- Next(int max Value):产生一个比max value 小的整数
- Next(int min Value,int max Value):产生一个 minValue~maxValue 的正整数,但不包含 maxValue
- NextDouble():产生一个0.0~1.0的浮点数
- NextBytes(byte[] buffer):用随机数填充指定字节数的数组
四、Random方法的使用
【实例】分别使用 Next、NextDouble 以及 NextBytes 方法生成随机数。
class Program
{
static void Main(string[] args)
{
//分别使用Net、NetDouble已经NextByets方法生成随机数
Random rd = new Random();
int numberone = rd.Next(0, 10);
Console.WriteLine("产生一个10以内的数:{0}",numberone);
//浮点数
double numbertwo = rd.NextDouble();
Console.WriteLine("产生一个0到1之间浮点数:{0}",numbertwo);
//数组
byte[] b = new byte[5];
rd.NextBytes(b);
Console.WriteLine("产生的byte类型值为:");
foreach (byte i in b)
{
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
输出结果,如图所示:

【实例】输入名字随机显示这个人上辈子是什么样的人
class Program
{
static void Main(string[] args)
{ //随机数
Random rd = new Random();
while (true)
{
int number = rd.Next(1, 6);
Console.WriteLine("请输入你的名字");
string name = Console.ReadLine();
if (name=="")
{
Console.WriteLine("名字不能为空,请重新输入你的名字");
name = Console.ReadLine();
}
switch (number)
{
case 1:
Console.WriteLine("{0}的上辈子是皇帝", name);
break;
case 2:
Console.WriteLine("{0}的上辈子是皇后", name);
break;
case 3:
Console.WriteLine("{0}的上辈子是贵妃", name);
break;
case 4:
Console.WriteLine("{0}的上辈子是秀才", name);
break;
case 5:
Console.WriteLine("{0}的上辈子是驸马", name);
break;
}
Console.ReadKey();
}
}
}
输出结果,如图所示:

C# Random的更多相关文章
- Chrome V8引擎系列随笔 (1):Math.Random()函数概览
先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...
- Math.random()
Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...
- .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
.Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...
- 随机数(random)
需求 Random rd=new Random(); 需要十以内的随机数 (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...
- python写红包的原理流程包含random,lambda其中的使用和见简单介绍
Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...
- [LeetCode] Random Pick Index 随机拾取序列
Given an array of integers with possible duplicates, randomly output the index of a given target num ...
- [LeetCode] Linked List Random Node 链表随机节点
Given a singly linked list, return a random node's value from the linked list. Each node must have t ...
- [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
A linked list is given such that each node contains an additional random pointer which could point t ...
- php对应js math.random
<?php function random($min = 0, $max = 1) { return $min + mt_rand()/mt_getrandmax()*($max-$mi ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
随机推荐
- JS基础语法---函数练习part3---4个练习
练习1:求一个数字的阶乘 function getJieCheng(num) { var result = 1; for (var i = 1; i <= num; i++) { result ...
- CSS元素显示模式
CSS的元素显示模式 什么是元素显示模式 作用:网页的标签非常多,在不同的地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页 元素的显示模式就是元素(标签)以什么样的方式进行显示,比如& ...
- emacs speedbar功能介绍
emacs speedbar功能介绍 speedbar启动命令M-x speedbar,效果如下: speedbar是一个frame,它会遮挡你工作中的buffer.鼠标左键点击,或者敲回车,都会自动 ...
- C++ 学习六 operator关键字(重载)
转载:http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将 o ...
- zabbix使用钉钉告警
1.钉钉创建群 2.[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf # 配置文件中查找”Alert”查看告警脚本存放路径 [root@lo ...
- [C4] Andrew Ng - Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
About this Course This course will teach you the "magic" of getting deep learning to work ...
- DQN的三大改进:
Double DQN:https://www.jianshu.com/p/fae51b5fe000 Prioritised Replay:https://www.jianshu.com/p/db14f ...
- angular跳转和传参
使用routerLink跳转 <a routerLink=["/exampledetail",id]></a> <a routerLink=[&quo ...
- Vue.js 创建第一个应用
VUE官网下载Vue.js文件或者用Vue的CDN地址 在项目中引入Vue.js文件 代码: <!doctype html> <html lang="en"> ...
- 内网Metasploit映射到外网
下载frp Github项目地址:https://github.com/fatedier/frp 找到最新的releases下载,系统版本自行确认. 下载方法: wget https://github ...