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模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
随机推荐
- Shell脚本(1)
在创建Shell脚本时,必须在文件的第一行指定要使用的shell.格式为:#!/bin/bash 除了第一行外,在shell脚本中井号(#)用作注释行 若出现错误:command not found ...
- CCNA基础学习
OSI七层模型 由国际标准化组织ISO于1984年提出 是目前公认的计算机通信和Internet网络通信的基本结构模型 如见使用的最广泛的TCP/IP协议就是基于OSI(Open Systems In ...
- postman---postman参数化
我们在做接口测试的过程中,都会遇到同一个接口不同的数据,每次去一个个填写数据就太麻烦了,今天我们一起学习下如何通过postman进行参数化 参数化 参数化就是1个接口请求不同的数据,我们可以通过把请求 ...
- CUDA -- 内存分配
CUDA可以认为是一个由软件和硬件构成的并行计算系统,其依赖于GPU的并行计算单元,CUDA有类C的API,方便程序编写.其依赖于CPU和GPU的异构体系,通过在CPU上串行执行环境初始化.内存分配. ...
- 6.2 DataFrame
一.DataFrame概述 在Spark SQL中,DataFrame就是它的数据抽象,对DataFrame进行转换操作. DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅 ...
- SQL必知必会|SQL基础篇
了解SQL DBMS的前世今生 SQL是如何执行的 DDL语法 关于外键的性能问题? 是否使用外键确实会有一些争议.关于外键的使用: 首先,外键本身是为了实现强一致性,所以如果需要正确性>性能的 ...
- day53_9_17 django数据库表关联,路由和视图
一.数据库的关系建立. 在原生的数据库语句中,建立表与表之间的联系,就是添加一个字段,将联系的表的id值添加到该字段中. django所作的也就是这些. 以图书管理系统为例,图书管理系统有四张表:书籍 ...
- 鲜贝7.3--navicat破解
Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1yy5JkrXk5NV129wzkzntqw 提取码:htc2 1.安装Navicat ...
- 浅谈lowbit运算
关于lowbit运算的相关知识 本篇随笔简单讲解一下计算机中位运算的一类重要运算方式--\(lowbit\)运算. lowbit的概念 我们知道,任何一个正整数都可以被表示成一个二进制数.如: \[ ...
- 深度解密Go语言之context
目录 什么是 context 为什么有 context context 底层实现原理 整体概览 接口 Context canceler 结构体 emptyCtx cancelCtx timerCtx ...