一、简介

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的更多相关文章

  1. Chrome V8引擎系列随笔 (1):Math.Random()函数概览

    先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...

  2. Math.random()

    Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...

  3. .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    .Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: ; i < ; i++) { Rando ...

  4. 随机数(random)

    需求 Random rd=new Random(); 需要十以内的随机数  (0---10) System.out.println((int)((rd.nextDouble()*100)/10)); ...

  5. python写红包的原理流程包含random,lambda其中的使用和见简单介绍

    Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...

  6. [LeetCode] Random Pick Index 随机拾取序列

    Given an array of integers with possible duplicates, randomly output the index of a given target num ...

  7. [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 ...

  8. [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表

    A linked list is given such that each node contains an additional random pointer which could point t ...

  9. php对应js math.random

    <?php function random($min = 0, $max = 1) {     return $min + mt_rand()/mt_getrandmax()*($max-$mi ...

  10. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

随机推荐

  1. WebService发布服务例子

    import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface WebServiceI { ...

  2. JS基础语法---函数---介绍、定义、函数参数、返回值

    函数: 把一坨重复的代码封装,在需要的时候直接调用即可 函数的作用: 代码的重用 函数需要先定义,然后才能使用 函数名字:要遵循驼峰命名法 函数一旦重名,后面的会把前面的函数覆盖 Ctrl +鼠标左键 ...

  3. ts常用数据类型

    1.1 布尔值 let isTrue: boolean = false; console.log(isTrue); 1.2 数字 let age: number = 26; console.log(a ...

  4. Html 页面底部添加版权信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. weblogic新增域并进行Jconsole监听

    一.创建域: 第一步,打开域配置界面: [bofm@UAT02-BIZ-ZJCG-AP-002 bin]$ cd /home/software/weblogic/Oracle/Middleware/w ...

  6. TypeScript 学习笔记(一)

    TypeScript: 1.是 JavaScript 的一个超集,支持 ES6 标准 2.由微软开发的自由和开源的编程语言 3.设计目标是开发大型应用,它可编译成纯 JavaScript,编译出来的 ...

  7. bay——安装_RAC11g_LC_测试环境-rehat6+udev.txt

    ★★★____★☆★〓〓〓〓→VMware vSphere Client6.0 https://10.20.4.200/ 下载Vwmare IP:10.20.4.200-------账号:root-- ...

  8. emacs 矩形操作

    emacs 矩形操作 如果使用图形化(GUI)的eamcs,使用M-x cua-mode,很好用,但是如果不是图形化的emacs(emacs -nw)的话,矩形操作就不能使用cua-mode. 非图形 ...

  9. Bn Bp Binder native层关系

    Servicemanager 源码在/frameworks/base/cmds/servicemanager/service_manager.c 编译成 systemmanager 可执行文件 sys ...

  10. 5.Java基础_Java算术/字符/字符串/赋值运算符

    /* 算术/字符/字符串/赋值 运算符 */ public class OperatorDemo01 { public static void main(String[] args){ //算术运算符 ...